2014-07-20 102 views
0

是否有python包來生成基於web的交互式條形圖?在Python中繪製基於web的圖形的最佳方式

我有以下要求:

  • ,因爲它們依賴於numpy的(大量依賴的),我不能plotly使用,matplotlib。我的環境不能安裝任何這樣的軟件包,但是我可以嘗試使用軟件包的源代碼。

  • 我需要跨平臺的封裝

+0

是否可以在你的env中添加numpy? –

+0

「基於網頁的交互式條形圖」 - 你是什麼意思?你是否想要一些圖表,人們可以點擊「向下鑽取」,這是由你在Python中生成的數據提供的? Python不能在瀏覽器上運行,所以Python沒有交互性。它最多可以在某個時間點生成靜態數據圖表 - 爲了生成動畫或與它們進行交互,您需要一個客戶端庫。所以,我再問一次 - 你到底需要什麼? –

+0

'它最多可以在某個時間點生成靜態數據圖表 - 要動畫或與它們進行交互,您需要一個客戶端庫。「它確實是python不是客戶端,但有庫文件可以實現客戶端給你的東西:bokeh.pydata.org是最完整的html5,d3。js基地爲python繪製解決方案。 –

回答

1

您需要依靠d3.js如果你想,沒有任何包裝的事情。 從python生成數據,在d3.js中繪製渲染和交互。 不可重複使用,如果項目巨大,不適用。 http://d3js.org

如果你正在尋找完整的堆棧(這將產生你的情節,你可以託管在web服務器上)看看bokeh.pydata.org。它取決於:

NumPy 
Flask 
Redis 
Requests 
gevent 
gevent-websocket 
Pandas 

它們通過使用contiuum.io Anaconda/MiniConda Python發行版自動安裝。

使用conda軟件包管理器,您無需擔心安裝二進制軟件包,Anaconda python distribution在您的方案中提供了所需的一切。它有conda軟件包管理器,其中安裝了獨立平臺Binaries以及所有的依賴關係。這意味着你不需要額外的包管理器或編譯器(GCC)來從頭構建二進制文件。

我已經測試了無包Linux上的conda,它的工作原理完美。 http://conda.pydata.org/miniconda.html 做到這一點:

下載miniconda:

wget http://repo.continuum.io/miniconda/Miniconda-3.5.5-Linux-x86_64.sh 

安裝(不需要root權限):

慶典Miniconda-3.5.5-Linux-x86_64.sh

然後做:

conda create -n plotting_env python 
conda update conda 
conda install bokeh 

conda是滿的(依賴解決),跨平臺,已經有Virtualenv式支持的packagemanager。 它將安裝所有需要的庫(包括C庫)的二進制文件,而無需OS提供的包管理器。 然後代碼!

+0

謝謝,但沒有任何我可以使用的軟件包?大多數軟件包似乎都依賴於numpy – abarik

+0

Numpy是python非常重要的一塊軟件,它能夠以最快,最有效的方式(非常接近C的性能)生成/主要/分析數組。如果可能的話,你應該使用python的continuum.io發佈:Miniconda,並安裝numpy(它完全是跨平臺的)。 –

+0

謝謝,我有virtualenv的經驗; conda看起來與它相似。 無論如何,這裏是我的擔憂:我寫的python包將從NXOS運行(Cisco Nexus OS,它具有Linux內核,沒有安裝包的方法)。有沒有辦法使用conda將numpy/matplotlib打包爲二進制文件,並使用它?這是否有意義 – abarik

相關問題