寫在前面的話
- plotly是一個基于JavaScript的繪圖庫,可以繪制精致的動態(tài)交互圖形,繪圖結果默認保存成html文件,可以通過瀏覽器查看。
- plotly不能直接接受numpy和pandas的數(shù)據(jù)結構,需要將數(shù)據(jù)轉換成其可識別的數(shù)據(jù)結構。
導入數(shù)據(jù)庫:
1. import plotly as py
2. import plotly .graph_objs as go
3. from plotly .graph_objs import Scatter
1、plotly基礎知識
1.1、offline.plot和offline.iplot
- 使用plotly.offline.plot(data,filename='file.html')函數(shù)可以在本地新建一個HTML文件,并可以選擇是否在瀏覽器中打開這個文件。
- 使用py.offline.init_notebook_mode()進行初始化,利用plotly.offline.iplot函數(shù)可在Jypyter notebook直接繪圖。
1.2、plotly繪圖流程
- 添加圖軌數(shù)據(jù),使用go.Scatter、go.Bar等函數(shù)
- 設置畫圖布局,使用go.Layout函數(shù)
- 集成圖軌,布局數(shù)據(jù),使用go.Figure函數(shù)
4.繪制輸出,使用offline.plot和offline.iplot函數(shù)。
2、常見圖形繪制
2.1、折線圖和散點圖:
-
go.Scatter(x,y,mode,name,marker,line):
- x----x軸數(shù)據(jù)
- y----y軸數(shù)據(jù)
- mode----線條(lines)、散點(markers)、線條加散點(markers+lines)
- name----圖例名稱
- marker/line----散點和線條的相關參數(shù)
-
go.Layout(title,xaxis,yaxis)
- title----標題
- xaxis----控制x軸參數(shù)
- yaxis----控制y軸參數(shù)
-
legend----設置圖例位置和字體
image.png
2.2、柱狀圖:
-
go.Bar(x,y,marker,opacity):
- x----x軸數(shù)據(jù)
- y----y軸數(shù)據(jù)
- marker----設置圖形的參數(shù)
-
opacity----透明度
image.png
-
若需要制作柱狀簇圖,則制作多個分類圖軌,并形成列表即可。
image.png -
若需要制作堆疊柱狀圖,則制作多個圖軌,并形成列表。布局設置添加參數(shù)barmode='stack'。
image.png
2.3、直方圖
-
go.Histogram(x,y,marker):
image.png
2.4、餅圖
-
go.Pie(x,y,hole,textfont):
image.png
3、圖形設置
3.1、多圖表
-
多圖表其實畫多個畫圖軌跡就可以了。
image.png
3.2、雙坐標軸
-
雙坐標軸則layout增加yaxis2參數(shù),例如:yaxis2=dict(title='稅收收入',overlaying='x',side='right')
image.png
3.3、多子圖
-
多子圖需要設置subplot。
- from plotly import tools
- fig=tools.make_subplots(rows=2,cols=1)
- 3.fig.append_trace(trace1,1,1)>fig.append_trace(trace2,2,1)
-
4.fig['layout'].update(height= ,width= ,title=' ')’
image.png
寫在最后的話
- 這是本人學習Peter老師的《2020年Python數(shù)據(jù)分析師特訓營》課程整理的學習筆記,有需要觀看視頻的小伙伴,B站指路:https://www.bilibili.com/video/av81847305。