Python數(shù)據(jù)可視化| Plotly

寫在前面的話

  • 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繪圖流程

  1. 添加圖軌數(shù)據(jù),使用go.Scatter、go.Bar等函數(shù)
  2. 設置畫圖布局,使用go.Layout函數(shù)
  3. 集成圖軌,布局數(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。
      1. from plotly import tools
      1. 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
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容