如何用Python強大的matplotlib庫繪圖


matplotlib庫支持超過100種數據可視化的顯示效果,其功能十分強大。具體可訪問下述網址:

我們一般通過pyplot簡單調用使用,引用方法很簡單:

 

 

一、先看一個簡單的例子:

               如何用Python強大的matplotlib庫作圖?   

   

 
 
 
 
plt.plot 直接加一個列表,則列表值為y軸,x軸自動設置為列表對應元素的索引值(當為兩個列表時,前一個列表為橫坐標);
plt.ylabel可設置坐標軸名稱;
plt.axis為設置橫縱坐標范圍;
plt.savefig為保存圖片到當前目錄下,這里的dpi指圖的質量,即每英寸像素點的數量為600,默認為png格式;plt.show為顯示該圖形。
 
二、繪圖區域分割實現多圖顯示:
plt.subplot(nrows, ncols, plot_number) 用來划分繪圖區域並選定某一特定區域,其中nrows和ncols分別為分割區域的行數和列數,plot_number為當前繪圖區域(注:該值是按一行一行方式的數來的)。如此便實現了多圖顯示。
  如果繪制圖形區域不是規則的划分,需要用到輔助subplot設計的函數subplot2grid() 。其基本理念為:設定網絡,選中網絡,確定選中行列區域數量,編號從0開始。
plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)
其中第一個參數表示區域划分,第二個參數為選定位置,第三第四個參數分別值列和行的延伸。見下例
如何用Python強大的matplotlib庫作圖?     如何用Python強大的matplotlib庫作圖?
 
 
三、plot函數常用功能:
  plt.plot(x, y, format_string, **kwargs) 其中x為x軸數據,為列表或numpy數組;y為y軸數據;format_string為控制曲線格式的字符串,可選;**kwargs表示可以多組放置前三個參數,繪制在一張圖中(例如繪制多條曲線,注:此時x不可省略)。
  format_string 由顏色字符、風格字符和標記字符組成。
(1)常用顏色字符有:(也可用color='green'設定)
'b' 藍色    'm'洋紅色    'g'綠色    'y'黃色    'r'紅色    'k'黑色    'w'白色    '#0080000'RGB某顏色    '0.8'灰度值字符串
(2)常用風格字符有:(也可用linestyle='dashed'設定)
'-'實線    '--'破折線    '-.'點划線    ':'虛線   
(3)常用的標記字符有:(也可用marker='o'設定)
'.'點    ','像素(極小點)    'o'實心圈    'v'倒三角    '^'上三角    '>'右三角    '<'左三角    '1'下花三角
'2'上花三角    '3'左花三角    '4'右花三角    's'實心方形    'p'實心五角    '*'星形    'h'豎六邊形   
'H'橫六邊形    '+'十字    'x'x標記    'D'菱形    'd'瘦菱形    '|'垂直線
  如何用Python強大的matplotlib庫作圖?     如何用Python強大的matplotlib庫作圖?
用法如上例所示。
 
 
四、pyplot的中文顯示:
  一般中文是不能夠顯示在pyplot中的,如果要在圖中添加中文可以選擇用rcParams將字體進行修改。
如何用Python強大的matplotlib庫作圖?
rcParams的屬性(會改變圖中所有的字體):
'font.family'用於顯示字體名稱
'font.style'字體風格,正常'normal'或斜體'italic'
'font.size'字體大小,整數字號
  另一種方法更加實用簡單,增加一個fontproperties屬性,由於這種方法可局部修改字體,因此更推薦使用此方法。
  除了plt.xlabel() , plt.ylabel()還有如下幾種文本顯示函數
plt.title() 對圖形整體增加文本標簽; plt.text() 在任意位置增加文本;plt.annotate() 在圖形中增加帶箭頭注釋
  為了更好理解本節內容,具體見下例:
如何用Python強大的matplotlib庫作圖?
如何用Python強大的matplotlib庫作圖?
熟悉LaTeX編寫的人不難發現,'$'符號括起來的部分是LaTeX的語法格式,可輸入很多常用的數學符號。
plt.text() 前兩個參數表示的是輸入文本的起始位置,第三個參數為輸入內容,最后為格式;
plt.annotate() 第一個參數為輸入內容,第二個參數為箭頭指向位置,第三個參數為文本位置,最后為一個字典格式的箭頭格式調整參數。
 

五、常用基礎圖表函數:
plt.plot()繪制坐標圖; plt.boxplot()箱形圖; plt.bar()條形圖; plt.barh()橫向條形圖; plt.polar()極坐標圖; 
plt.pie()餅圖; plt.psd()功率譜密度圖; plt.specgram()譜圖; plt.cohere() X-Y的相關性函數圖;
plt.scatter()散點圖; plt.step()步階圖; plt.hist()直方圖; plt.contour()等值圖; plt.vlines()垂直圖; 
plt.stem()柴火圖; plt.plot_date()數據日期; 
下面介紹幾種常用的圖標繪制方法:
(1)餅圖
如何用Python強大的matplotlib庫作圖?    如何用Python強大的matplotlib庫作圖?
其中sizes約定各塊尺寸,explode指定突出比例,labels給出各塊標簽,autopct表示顯示百分數的方式,shadow指陰影效果,startangle指其實角度。
(2)直方圖
如何用Python強大的matplotlib庫作圖?     如何用Python強大的matplotlib庫作圖?
其中最關鍵的為前兩個參數,第一個是統計數據a;第二個參數bin,指的是直立直方的個數(即在最小值和最大值之間平均划分為bin份,統計每一份的個數並繪圖);normed為1表示出現概率(歸一化了),為0表示出現次數;
(3)散點圖
如何用Python強大的matplotlib庫作圖?     如何用Python強大的matplotlib庫作圖?
上述應用的時面向對象的繪圖方式,這種方式可以實現更加定制化的繪圖,但也更加復雜。

 
六、三維圖的繪制:
(1)繪制三維坐標點和線
如何用Python強大的matplotlib庫作圖?
如何用Python強大的matplotlib庫作圖?
(2)繪制平面和曲面
如何用Python強大的matplotlib庫作圖?
如何用Python強大的matplotlib庫作圖?
 


免責聲明!

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



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