野路子码农系列(3)plotly可视化的简单套路
又雙叒叕要跟客戶匯報了,圖都準備好了嗎?matplotlib出圖嫌丑?那用用plotly吧,讓你的圖看上去經費爆炸~
?
P1?起因
第一次接觸plotly這個庫是在我們做的一個列車信號數據挖掘的項目里,當時用下來總覺得有些云里霧里的,感覺非常不方便,API也不熟悉。后來又在別的項目上摸索了幾次,突然發現這個庫套路還是很清晰的,可能我對官方教程的理解還不太透徹。于是我打算把自己摸索出來的內容寫下來。本文僅針對離線繪圖,即使用 plotly.offline.iplot(fig) 繪圖。
?
P2?整體框架
首先我們導入一些必要的內容:
import plotly from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot import plotly.graph_objs as go from plotly import tools init_notebook_mode(connected=True)如果你在Jupyter Notebook中發現你的圖無法顯示,或者一篇空白,請檢查右上角是否為"Trusted"狀態,不是話點一下,將其轉為Trusted,如還不顯示,就試試Ctrl+F5強制刷新。
官方的教程主要是基于一個個單獨的實例,不太容易舉一反三。但其實plotly的套路非常簡單樸實。
總體來說,當我們繪制一張圖時,我們需要通過一個go.Figure實例,我們可以把它當做畫布。在go.Figure中,有2個東西十分重要,一個是data,主要是我們的數據;另一個是layout,關乎圖面布局。
data傳入的是一個列表,里面可以包含一組或多組數據,每一組數據被封裝在一個圖形實例中,比如go.Scatter(線圖)或者go.Heatmap(熱力圖),每個圖形實例中都包含了數據本身,以及和數據相關的某些繪圖屬性。
layout傳入的則是一個go.Layout實例,我們可以為其增加不同的屬性來實現對圖面布局的控制。
而當我們需要分圖時,我們會使用tools.make_subplots(),并通過append_trace()來將data貼進不同的分圖,其他都是大同小異,依舊使用layout來控制圖面。
?
P3?示例代碼
我分別針對最常用的幾種圖:線圖、條形圖、地圖和熱力圖寫了一些示例代碼,詳見:
https://nbviewer.jupyter.org/github/SilenceGTX/plotly_demo/blob/bbb1fdbc6ee9706cbbbacc5f72444e6f4111b346/plotly_visualization_Demo.ipynb
?
轉載于:https://www.cnblogs.com/silence-gtx/p/10667131.html
總結
以上是生活随笔為你收集整理的野路子码农系列(3)plotly可视化的简单套路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: P1433 吃奶酪 回溯法 优化
- 下一篇: 题解 UVA10298 【Power S