Python數據可視化之Matplotlib(折線圖)


 
一、使用Matplotlib生成數據圖:是Python上的一個2D繪圖庫,它可以在跨平台上邊出很多高質量的圖像。
     1、Pycharm安裝Matplotlib庫
           (1)點擊菜單上的“file” -> “settings”:
                

           (2)選中你的項目(比如thisyan Project),選中其下的“Project  Interpreter”:             
               
           (3)點擊最右邊的"+":
              
           (4)出現如下界面后,按照如圖所示單擊:
               

             (5)完成:
                 
    2、折線圖  --------  plot
       (1)簡單的折線圖:
             import matplotlib.pyplot as plt

        x_data = ['2011','2012','2013','2014','2015','2016','2017']
        y_data = [58000,60200,63000,71000,84000,90500,107000]

         plt.plot(x_data,y_data)
         plt.show()
在matplotlib面向對象的繪圖庫中,pyplot是一個方便的接口。
plot()函數:支持創建單條折線的折線圖,也支持創建包含多條折線的復式折線圖----只要在調用plot()時傳入多個分別代表X軸和Y軸數據的list列表即可
  (2)復式折線圖:
      import matplotlib.pyplot as plt
      x_data = ['2011','2012','2013','2014','2015','2016','2017']
      y_data = [58000,60200,63000,71000,84000,90500,107000]
      y_data2 = [52000,54200,51500,58300,56800,59500,62700]

      plt.plot(x_data,y_data,color='red',linewidth=2.0,linestyle='--')
      plt.plot(x_data,y_data2,color='blue',linewidth=3.0,linestyle='-.')
      plt.show()

注:
       color  ------  指定折線的顏色
       linewidth   --------  指定折線的寬度
       linestyle   --------  指定折線的樣式
        ‘  - ’ : 表示實線
        ’ - - ‘   :表示虛線
       ’ :  ‘:表示點線
       ’ - . ‘  :表示短線、點相間的虛線
       
    (3)管理圖例:
          對於復式折線圖,應該為每條折線添加圖例,可以通過legend()函數來實現。該函數可傳入兩個list參數,其中第一個list參數(handles參數)用於引用折線圖上的每條折線;第二個list參數(labels)代表為每條折線所添加的圖例
     
   import matplotlib.pyplot as plt
   import matplotlib.font_manager as fm  #字體管理器

   x_data = ['2011','2012','2013','2014','2015','2016','2017']
   y_data = [58000,60200,63000,71000,84000,90500,107000]
   y_data2 = [52000,54200,51500,58300,56800,59500,62700]

   ln1, = plt.plot(x_data,y_data,color='red',linewidth=2.0,linestyle='--')
   ln2, = plt.plot(x_data,y_data2,color='blue',linewidth=3.0,linestyle='-.')

   my_font = fm.FontProperties(fname="/usr/share/fonts/wqy-microhei/wqy-microhei.ttc")

   plt.title("電子產品銷售量",fontproperties=my_font) #設置標題及字體

   plt.legend(handles=[ln1,ln2],labels=['鼠標的年銷量','鍵盤的年銷量'],prop=my_font)

   ax = plt.gca()
  ax.spines['right'].set_color('none')  # right邊框屬性設置為none 不顯示
  ax.spines['top'].set_color('none')    # top邊框屬性設置為none 不顯示

   plt.show()
 
               

 



(4)管理多個子圖:
   import matplotlib.pyplot as plt
   import numpy as np
   import matplotlib.gridspec as gridspec
   import matplotlib.font_manager as fm  #字體管理器

my_font = fm.FontProperties(fname="/usr/share/fonts/wqy-microhei/wqy-microhei.ttc")

plt.figure()

x_data = np.linspace(-np.pi,np.pi,64,endpoint=True)
gs = gridspec.GridSpec(2,3) #將繪圖區分成兩行三列
ax1 = plt.subplot(gs[0,:])#指定ax1占用第一行(0)整行
ax2 = plt.subplot(gs[1,0])#指定ax2占用第二行(1)的第一格(第二個參數為0)
ax3 = plt.subplot(gs[1,1:3])#指定ax3占用第二行(1)的第二、三格(第二個參數為1:3)

#繪制正弦曲線
ax1.plot(x_data,np.sin(x_data))
ax1.spines['right'].set_color('none')
ax1.spines['top'].set_color('none')
ax1.spines['bottom'].set_position(('data',0))
ax1.spines['left'].set_position(('data',0))
ax1.set_title('正弦曲線',fontproperties=my_font)

#繪制余弦曲線
ax2.plot(x_data,np.cos(x_data))
ax2.spines['right'].set_color('none')
ax2.spines['top'].set_color('none')
ax2.spines['bottom'].set_position(('data',0))
ax2.spines['left'].set_position(('data',0))
ax2.set_title('余弦曲線',fontproperties=my_font)

#繪制正切曲線
ax3.plot(x_data,np.tan(x_data))
ax3.spines['right'].set_color('none')
ax3.spines['top'].set_color('none')
ax3.spines['bottom'].set_position(('data',0))
ax3.spines['left'].set_position(('data',0))
ax3.set_title('正切曲線',fontproperties=my_font)
plt.show()

 





















免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM