- Python數據分析:基于Plotly的動態可視化繪圖
- 孫洋洋等
- 557字
- 2019-10-21 11:58:28
1.6 使用離線繪圖庫
通過前面的案例,我們可以看到Plotly的繪圖結果雖然美觀,但是繪圖速度太慢,原因是Plotly的服務器在國外,國內用戶使用Plotly的在線繪圖會有網絡延遲。如果僅有在線繪圖,恐怕Plotly不會發展得這么快,一是如果用戶都使用在線繪圖,會導致官方的服務器壓力增大,這樣免費服務無法長久維持下去或體驗越來越差;二是這種繪圖速度國內用戶是無法接受的,所以開源的動態繪圖模塊Plotly支持離線繪圖功能。
Plotly的離線繪圖功能允許在沒有網絡的情況下繪圖,并把圖像保存到本地。有兩種方法可以實現上述功能:plotly.offline.plot ()和plotly.offline.iplot ()。
●使用plotly.offline.plot ()方法會在本地新建一個HTML文件,并可以選擇是否在瀏覽器中打開這個文件。
●使用plotly.offline.iplot ()方法會在Jupyter Notebook中直接繪圖,而不需要新建一個HTML文件。
案例代碼如下(見文件Chapter01/first_offline_start.py)。
import plotly as py from plotly.graph_objs import Scatter, Layout, Data trace0 = Scatter( x=[1, 2, 3, 4], y=[10, 15, 13, 17] ) trace1 = Scatter( x=[1, 2, 3, 4], y=[16, 5, 11, 9] ) data = Data([trace0, trace1]) py.offline.plot(data, filename = 'first_offline_start')
運行以上代碼,結果如圖1-8所示。

圖1-8 案例運行結果
在Jupyter Notebook中需要注意的是,這里需要添加一個初始化步驟,在開始繪圖之前要加入一行代碼。
plotly.offline.init_notebook_mode()
詳細代碼如下(見文件Chapter01/first_offline_start.ipynb)。
import plotly as py from plotly.graph_objs import Scatter, Layout, Data py.offline.init_notebook_mode() trace0 = Scatter( x=[1, 2, 3, 4], y=[10, 15, 13, 17] ) trace1 = Scatter( x=[1, 2, 3, 4], y=[16, 5, 11, 9] ) data = Data([trace0, trace1]) py.offline.iplot(data, filename = 'first_offline_start')
代碼運行結果如圖1-9所示,與上一個案例的輸出效果一樣。

圖1-9 案例運行結果
由于在線繪圖和離線繪圖的繪圖結果沒有什么不同,所以對于在線繪圖,讀者可以自己動手修改代碼。
推薦閱讀
- 漫話大數據
- 數據存儲架構與技術
- 3D計算機視覺:原理、算法及應用
- Starling Game Development Essentials
- 信息學競賽寶典:數據結構基礎
- 大數據技術原理與應用:概念、存儲、處理、分析與應用
- Spring MVC Beginner’s Guide
- The Natural Language Processing Workshop
- Gideros Mobile Game Development
- 大數據與機器學習:實踐方法與行業案例
- 數據指標體系:構建方法與應用實踐
- 大數據隱私保護技術與治理機制研究
- 大數據技術體系詳解:原理、架構與實踐
- 數據中心UPS系統運維
- Hands-On Java Deep Learning for Computer Vision