<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>

          Python數(shù)據(jù)可視化原來(lái)這么玩兒(一)

          共 3598字,需瀏覽 8分鐘

           ·

          2020-09-16 02:36


          ◆?◆?◆ ?◆?



          前言


          matplotlib是一個(gè)龐大的繪圖庫(kù)模塊,這節(jié)內(nèi)容我們只導(dǎo)入其中的pyplot子模塊就可以完成許多圖表繪制。

          按照約定俗成,我們使用plt調(diào)用相關(guān)的方法。

          import?matplotlib.pyplot as?plt


          折線圖


          • 1.?畫線plot( )

          #?記得導(dǎo)入numpy庫(kù)data = np.random.randint(85,95,10)plt.plot(data)plt.show()



          默認(rèn)情況下,含數(shù)據(jù)的列表當(dāng)參數(shù)傳給plot( ),列表內(nèi)的數(shù)據(jù)會(huì)被視為y軸的值,x軸的值會(huì)依列表值的索引位置自動(dòng)產(chǎn)生。


          細(xì)心的朋友可能會(huì)發(fā)現(xiàn),這個(gè)坐標(biāo)的原點(diǎn)不是(0,0)。別著急,我們使用axis( )設(shè)定x,y軸的最小和最大刻度。


          data = np.random.randint(85,95,10)plt.plot(data)plt.axis([0,10,0,100])?#?默認(rèn)[x_min,x_max,y_min,y_max]plt.show()



          • 2.?線條寬度linewidth

          data = np.random.randint(85,95,10)plt.plot(data,linewidth = 5)plt.axis([0,10,50,150])plt.show()


          夠粗嗎??!


          • 3.?標(biāo)題

          data = np.random.randint(85,95,10)plt.plot(data,linewidth = 3)# 圖表標(biāo)題plt.title('Demo')# x軸標(biāo)題plt.xlabel('index')#?y軸標(biāo)題plt.ylabel('value')plt.axis([0,10,50,150])plt.show()


          此時(shí),你們老板覺得不行,標(biāo)題字太小了,不夠突出?。。?/span>


          嗯嗯,立馬在線卑微修改~

          data = np.random.randint(85,95,10)plt.plot(data,linewidth = 3)# fontsize修改字體大小plt.title('Big Demo',fontsize = 40)plt.xlabel('index',fontsize = 18)plt.ylabel('value',fontsize = 18)plt.axis([0,10,50,150])plt.show()



          夠大嗎??!

          • 4.?坐標(biāo)軸刻度的設(shè)定

          data = np.random.randint(85,95,10)plt.plot(data,linewidth = 3)plt.title('Demo',fontsize = 26)plt.xlabel('index',fontsize = 18)plt.ylabel('value',fontsize = 18)plt.axis([0,10,50,150])# 坐標(biāo)軸刻度的設(shè)定plt.tick_params(axis='both',labelsize = 18,color = 'red')plt.show()

          在設(shè)計(jì)圖表時(shí),可以使用tick_params( )設(shè)計(jì)設(shè)定坐標(biāo)軸的刻度大小,顏色以及應(yīng)用范圍。


          • 5.?修訂圖表的起始值

          data = np.random.randint(85,95,10)#?增加x軸數(shù)據(jù)列表,不再使用默認(rèn)值x = [1,2,3,4,5,6,7,8,9,10]plt.plot(x,data,linewidth = 3)plt.title('Demo',fontsize = 26)plt.xlabel('index',fontsize = 18)plt.ylabel('value',fontsize = 18)plt.axis([1,10,50,150])plt.tick_params(axis='both',labelsize = 12,color = 'red')plt.show()


          當(dāng)圖表的x軸有實(shí)際意義的時(shí)候,需要自己修訂圖表的起始值。這時(shí)候,只需要增加一列x軸的數(shù)據(jù),添加到plot( )方法中即可。


          • 6.?多組數(shù)據(jù)的應(yīng)用

          data1 = np.random.randint(85,95,10)data2 = np.random.randint(65,75,10)x = [1,2,3,4,5,6,7,8,9,10]plt.plot(x,data1,x,data2,linewidth = 3)plt.title('Demo',fontsize = 26)plt.xlabel('index',fontsize = 18)plt.ylabel('value',fontsize = 18)plt.axis([1,10,50,150])plt.tick_params(axis='both',labelsize = 12,color = 'red')plt.show()


          • 7. 線條色彩與樣式

          data1 = np.random.randint(85,95,10)data2 = np.random.randint(65,75,10)data3 = np.random.randint(55,60,10)data4 = np.random.randint(100,105,10)data5 = np.random.randint(110,120,10)x = [1,2,3,4,5,6,7,8,9,10]plt.plot(x,data1,'b--',x,data2,'r-*',x,data3,'y:',x,data4,'g.',x,data5,'-s')plt.title('Demo',fontsize = 26)plt.xlabel('index',fontsize = 18)plt.ylabel('value',fontsize = 18)plt.axis([1,10,50,150])plt.tick_params(axis='both',labelsize = 12,color = 'red')plt.show()


          • 8. 刻度設(shè)計(jì)

          pv = [1003,1459,1289,1350]uv = [567,675,621,666]months = [1,2,3,4]plt.plot(months,pv,months,uv)plt.show()


          由數(shù)據(jù)可知,x軸代表的是月份數(shù)據(jù),具有實(shí)際意義,且我們只需要1,2,3,4這4個(gè)月份刻度即可,這里我們使用xticks( )設(shè)定x軸刻度。
          pv = [1003,1459,1289,1350]uv = [567,675,621,666]months = [1,2,3,4]plt.xticks(months)
          plt.plot(months,pv,months,uv)plt.show()



          • 9.?圖例legend( )

          pv = [1003,1459,1289,1350]uv = [567,675,621,666]months = [1,2,3,4]plt.xticks(months)plt.plot(months,pv,months,uv)#?圖例plt.legend(['pv','uv'],loc = 'best')plt.show()


          • 10.?保存圖片文件

          pv = [1003,1459,1289,1350]uv = [567,675,621,666]months = [1,2,3,4]plt.xticks(months)
          plt.plot(months,pv,'-^',months,uv,'--',linewidth = 3)plt.legend(['pv','uv'],loc = 'best')plt.title('Number of Visitor',fontsize = 26)plt.xlabel('month',fontsize = 18)plt.ylabel('value',fontsize = 18)plt.tick_params(axis='both',labelsize = 12,color = 'red')#?第一個(gè)參數(shù)是所存的文件名,第二個(gè)參數(shù)代表將圖表外多余的空間刪除plt.savefig('out.jpg',bbox_inches = 'tight')plt.show()plt.close()



          往日精彩



          送書~轉(zhuǎn)發(fā)朋友圈,點(diǎn)贊超50即可獲得本書。先到先得。



          >>>?嚴(yán)小樣兒火了! <<<


          >>>?Python技巧1?<<<


          >>>?Python技巧2 ?<<<


          >>>?不可不知系列 ?<<<


          >>>?高級(jí)技巧 ?<<<


          >>>?在看,點(diǎn)了會(huì)變黃??<<<



          在看”的永遠(yuǎn)18歲~


          讓我知道你18?




          點(diǎn)個(gè)贊,證明你還愛我



          好看的人才能點(diǎn)


          瀏覽 46
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  sese在线 | 日韩国产精品在线看 | 亚洲香蕉第一页 | 人人插人人插 | 国产无圣光|