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

 
1、使用Matplotlib生成數據圖:是Python上的一個2D繪圖庫,它能夠在跨平臺上邊出不少高質量的圖像。
     一、Pycharm安裝Matplotlib庫
           (1)點擊菜單上的「file」 -> 「settings」:
                

           (2)選中你的項目(好比thisyan Project),選中其下的「Project  Interpreter」:             
               
           (3)點擊最右邊的"+":
              
           (4)出現以下界面後,按照如圖所示單擊:
                函數

             (5)完成:
                 
    二、折線圖  --------  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)的第2、三格(第二個參數爲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()
this

相關文章
相關標籤/搜索