<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          非常牛批的可視化庫Plotly

          共 5971字,需瀏覽 12分鐘

           ·

          2022-12-13 10:27


          1.plotly庫的相關(guān)介紹

          1)相關(guān)說明
          • plotly是一個基于javascript的繪圖庫,plotly繪圖種類豐富,效果美觀;
          • 易于保存與分享plotly的繪圖結(jié)果,并且可以與Web無縫集成;
          • ploty默認(rèn)的繪圖結(jié)果,是一個HTML網(wǎng)頁文件,通過瀏覽器可以直接查看;
          f63103bec2aa3c58745bd29aa92e072f.webp
          2)plotly與matplotlib、seaborn的關(guān)系
          需要注意的是,ployly繪圖庫與matplotlib繪圖庫、seaborn繪圖庫并沒有什么關(guān)系。也就是說說plotly是一個單獨的繪圖庫,有自己獨特的繪圖語法、繪圖參數(shù)和繪圖原理,因此我們需要單獨學(xué)習(xí)它。

          2.導(dǎo)入相關(guān)庫

          對于我們做數(shù)據(jù)分析的人員來說,一般用的都是離線繪圖庫。在線繪圖庫需要的話,可以自己百度研究。
              import?os
          import?numpy?as?np
          import?pandas?as?pd

          import?plotly?as?py
          import?plotly.graph_objs?as?go
          import?plotly.expression?as?px
          from?plotly?import?tools

          import?warnings
          warnings.filterwarnings("ignore")

          3.plotly繪圖原理

          1)ployly常用的兩個繪圖模塊:graph_objs和expression
          graph_objs expression 是plotly里面兩個很常用的繪圖庫,graph_objs相當(dāng)于matplotlib,在數(shù)據(jù)組織上比較費勁,但是仍然比起matplotlib繪圖更簡單、更好看。這里說的費勁是相對于expression庫來說的。expression庫相當(dāng)于seaborn的地位,在數(shù)據(jù)組織上較為容易,繪圖比起seaborn來說,也更加容易。這里你心里有個印象即可,知道這兩個繪圖庫很牛,就行了。 對于graph_objs繪圖庫,我們常命名為 go (import plotly.graph_objs as go);對于expression繪圖庫,我們常命名為 px (import plotly.expression as px)。
          2)graph_objs("go")庫的繪圖原理
          ① 簡單的案例說明
              df?=?pd.read_excel("plot.xlsx")
          #?步驟一
          trace0?=?go.Scatter(x=df["年份"],y=df["城鎮(zhèn)居民"],name="城鎮(zhèn)居民")
          trace1?=?go.Scatter(x=df["年份"],y=df["農(nóng)村居民"],name="農(nóng)村居民")
          #?步驟二
          data?=?[trace0,trace1]
          #?步驟三
          fig?=?go.Figure(data)
          #?步驟四
          fig.update_layout(
          ????title="城鄉(xiāng)居民家庭人均收入",
          ????xaxis_title="年份",
          ????yaxis_title="人均收入(元)"
          )
          #?步驟五
          fig.show()
          結(jié)果如下:

          8b6c5496130a216a212b4e49ebb9fac4.webp

          ② 原理說明
          • 1、繪制圖形軌跡,在ployly里面叫做trace,每一個軌跡是一個 trace
          • 2、將軌跡包裹成一個列表,形成一個 軌跡列表 。一個軌跡放在一個列表中,多個軌跡也是放在一個列表中。
          • 3、創(chuàng)建畫布的同時,并將上述的 軌跡列表 ,傳入到Figure()中。
          • 4、使用Layout添加其他的繪圖參數(shù),完善圖形。
          • 5、展示圖形。
          3)expression("px")庫的繪圖原理
          ① 簡單的案例說明
              iris?=?pd.read_excel("iris.xlsx",sheet_name="Sheet2")

          fig?=?px.scatter(iris,x="花萼長度",y="花萼寬度",color="屬種")
          fig.show()
          結(jié)果如下:

          6eb13bad6f41b91e44932df09ed599a6.webp

          ② 原理說明
          • 1、直接使用px調(diào)用某個繪圖方法時,會自動創(chuàng)建畫布,并畫出圖形。
          • 2、展示圖形。??

          4.保存圖形的兩種方式

          1)直接下載下來:保存成png靜態(tài)圖片
          6bd0c6f51e2227f17374a0f02bf047ca.webp
          2)使用py.offline.plot(fig,filename="XXX.html")代碼保存成html網(wǎng)頁動態(tài)圖片。
              iris?=?pd.read_excel("iris.xlsx",sheet_name="Sheet2")

          fig?=?px.scatter(iris,x="花萼長度",y="花萼寬度",color="屬種")
          py.offline.plot(fig,filename="iris1.html")
          結(jié)果如下:該文件是一個html文件,這里上傳不了,自己下去嘗試一下就知道了。
          3)總結(jié)說明
          使用“照相機”那個下載按鈕,可以直接將圖片下載保存在本地,但是這個圖片是一個靜態(tài)圖片,沒有交互性。但是使用py.offline.plot()方法,可以將圖片保存成一個html的網(wǎng)頁格式,其他人可以在電腦上直接打開這個html網(wǎng)頁,并且保留了圖片的原始樣式,具有交互性。??

          5.繪制雙y軸圖

          1)數(shù)據(jù)集如下
          920014e9807a985df55992851fb33435.webp
          2)繪制不同地區(qū)的“任務(wù)完成量”和“任務(wù)完成率”情況
              df?=?pd.read_excel("double_y.xlsx")

          x?=?df["地區(qū)"]
          y1?=?df["完成量"]
          y2?=?df["完成率"]

          trace0?=?go.Bar(x=x,y=y1,
          ????????????????marker=dict(color=["red","blue","green","darkgrey","darkblue","orange"]),
          ????????????????opacity=0.5,
          ???????????????name="不同地區(qū)的任務(wù)完成量")

          trace1?=?go.Scatter(x=x,y=y2,
          ????????????????????mode="lines",
          ????????????????????name="不同地區(qū)的任務(wù)完成率",
          ????????????????????#?【步驟一】:使用這個參數(shù)yaxis="y2",就是繪制雙y軸圖
          ????????????????????yaxis="y2")

          data?=?[trace0,trace1]

          layout?=?go.Layout(title="不同地區(qū)的任務(wù)完成量和任務(wù)完成率情況",
          ???????????????????xaxis=dict(title="地區(qū)"),
          ???????????????????yaxis=dict(title="不同地區(qū)的任務(wù)完成量"),
          ???????????????????#?【步驟二】:給第二個y軸,添加標(biāo)題,指定第二個y軸,在右側(cè)。
          ???????????????????yaxis2=dict(title="不同地區(qū)的任務(wù)完成率",overlaying="y",side="right"),
          ???????????????????legend=dict(x=0.78,y=0.98,font=dict(size=12,color="black")))

          fig?=?go.Figure(data=data,layout=layout)
          fig.show()
          結(jié)果如下:

          77d04f14d533f535d366e99c6203fcc9.webp

          6.繪制多子圖

          1)相關(guān)庫和方法介紹
          • 1、繪制多個子圖,需要先導(dǎo)入tools庫。from plotly import tools
          • 2、tools.make_subplots(rows= ,cols=)用于指定繪圖布局,rows和cols表示將畫布布局成幾行幾列。
          • 3、fig.append_trace()將每個圖形軌跡trace,繪制在不同的位置上。
          2)分別繪制不同地區(qū)的“任務(wù)完成量”和“任務(wù)完成率”情況
              #?步驟一:導(dǎo)入相關(guān)庫
          from?plotly?import?tools
          #?步驟二:指定繪圖布局
          fig?=?tools.make_subplots(rows=2,cols=1)
          #?步驟三:繪制圖形軌跡
          trace0?=?go.Bar(x=x,y=y1,
          ????????????????marker=dict(color=["red","blue","green","darkgrey","darkblue","orange"]),
          ????????????????opacity=0.5,
          ????????????????name="不同地區(qū)的任務(wù)完成量")???????
          trace1?=?go.Scatter(x=x,y=y2,
          ????????????????????mode="lines",
          ????????????????????name="不同地區(qū)的任務(wù)完成率",
          ????????????????????line=dict(width=2,color="red"))
          ?#?步驟四:將第一個軌跡,添加到第1行的第1個位置
          ?#????????將第二個軌跡,添加到第2行的第1個位置??????????????????
          fig.append_trace(trace0,1,1)
          fig.append_trace(trace1,2,1)
          #?步驟四:根據(jù)自己的需求,給圖形添加標(biāo)題。height、width參數(shù)用于指定圖形的寬和高
          fig.update_layout(title="不同地區(qū)的任務(wù)量與完成量",height=800,width=800)
          #?步驟五:展示圖形
          fig.show()
          結(jié)果如下:

          0230f74eb10c6c4c969a45a7954537bc.webp

              
                

          END



                      
                        

          推薦閱讀


          牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)

          牛逼!Python的判斷、循環(huán)和各種表達式(長文系列第②篇)

          牛逼!Python函數(shù)和文件操作(長文系列第③篇)

          牛逼!Python錯誤、異常和模塊(長文系列第④篇)

          
                              
          
                                


          吳恩達deeplearining.ai的經(jīng)典總結(jié)資料


          Ps:從小程序直接獲取下載

          瀏覽 101
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www.九九水蜜桃 | ThePorn人妻白浆 | 五月午夜激情 | 黄色一级免费电影 | 久青草在在线 |