弱弱的Matplotlib

導入pyplot子庫

import matplotlib.pyplot as plt

plt.plot() 只有一個輸入列表或數組時,參數被當作Y軸,X軸以索引自動生成
plt.savefig() 將輸出圖片存儲爲文件,默認PNG格式,可以通過dpi修改輸出質量
plt.plot(x,y) 當有兩個以上參數時,按照X軸和Y軸順序繪製數據點

pyplot的繪圖區域

plt.subplot(nrows, ncols, plot_number) 在全局繪圖區域中創建一個分區體系,並定位到一個子繪圖區域

pyplot的plot()函數

plt.plot(x,y,format_string, kwargs)**

  • x:X軸數據,列表或數組,可選
  • Y:Y軸數據,列表或數組
  • format_string:控制曲線的格式字符串,可選
  • **kwargs:第二組或更多(x,y,format_string)

當繪製多條曲線時,各條曲線的X不能省略

format_string:控制曲線的格式字符串,可選,由顏色字符風格字符標記字符組成

顏色字符 說明 顏色字符 說明
'b' 藍色 'm' 洋紅色 magenta
'g' 綠色 'y' 黃色
'r' 紅色 'k' 黑色
'c' 青綠色 cyan 'w' 白色
'#008000' RGB某顏色 '0.8' 灰度值字符串
風格字符 說明
'-' 實線
'--' 破折線
'-.' 點劃線
':' 虛線
'' ' ' 無線條
標記字符 說明 標記字符 說明 標記字符 說明
'.' 點標記 '1' 下花三角標記 'h' 豎六邊形標記
',' 像素標記(極小點) '2' 上花三角標記 'H' 橫六邊形標記
'o' 實心圈標記 '3' 左花三角標記 '+' 十字標記
'v' 倒三角標記 '4' 右花三角標記 'x' x標記
'^' 上三角標記 's' 實心方形標記 'D' 菱形標記
'>' 右三角標記 'p' 實心五角標記 'd' 瘦菱形標記
'<' 左三角標記 '*' 星形標記 'I' 垂直線標記

顏色字符、風格字符和標記字符可以組合使用

**kwargs:第二組或更多(x,y,format_string)

  • color: 控制顏色,color='green'
  • linestyle: 線條風格,linestyle='dashed'
  • marker: 標記風格, marker='o'
  • markerfacecolor: 標記顏色,markerfacecolor='blue'
  • markersize: 標記尺寸,markersize=20
  • ...

clipboard.png

clipboard.png

pyplot的中文顯示

第一種方法

pyplot並不默認支持中文顯示,需要rcParams修改字體實現

import matplotlib

matplotlib.rcParams['font.family'] = 'SimHei' #SimHei是黑體

rcParams的屬性

屬性 說明
'font.family' 用於顯示字體的名字
'font.style' 字體風格,正常'normal'或斜體'italic'
'font.size' 字體大小,整數字號或者'large'、'x-small'

中文字體的種類

rcparams['font.family']

中文字體 說明
'SimHei' 中文黑體
'Kaiti' 中文楷體
'LiSu' 中文隸書
'FangSong' 中文仿宋
'YouYuan' 中文幼圓
'STSong' 華文宋體

第二種方法

在有中文輸出的地方,增加一個屬性:fontproperties

clipboard.png

clipboard.png

一般推薦使用第二種

pyplot的文本顯示

函數 說明
plt.xlabel() 對X軸增加文本標籤
plt.ylabel() 對Y軸增加文本標籤
plt.title() 對圖形整體增加文本標籤
plt.text() 在任意位置增加文本
plt.annotate() 在圖形中增加帶箭頭的註解

plt.annotate(s, xy=arrow_crd, xytext=text_crd, arrowprops=dict)

  • s:要註解的字符串
  • xy:箭頭所在位置
  • xytext:文本顯示位置
  • arrowprops:箭頭顯示的一些屬性

clipboard.png

clipboard.png

pyplot的子繪圖區域

plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)
理念:設定網格,選中網格,確定選中行列區域數量,編號從0開始

  • GridSpec :將區域分割的網格形狀,元組
  • CurSpec:當前爲subplot選定的位置
  • colspan:列的方向的延申(即橫向)
  • rowspan:行的方向的延申(即縱向)

clipboard.png

clipboard.png

也可以用GridSpec類+subplot實現相同的效果

clipboard.png

clipboard.png

pyplot的基礎圖表庫

函數 說明
plt.plot(x,y,fmt,...) 繪製一個座標圖
plt.boxplot(data, notch, position) 繪製一個箱型圖
plt.bar(left, height, width, bottom) 繪製一個條形圖
plt.barh(width, bottom, left, height) 繪製一個橫向條形圖
plt.polar(theta, r) 繪製極座標圖
plt.pie(data, explode) 繪製餅圖
plt.psd(x, NFFT=256, pad_to, Fs) 繪製功率譜密度圖
plt.specgram(x,NFFT=256, pad_to,F) 繪製譜圖
plt.cohere(x,y,NFFT=256,Fs) 繪製X-Y的相關性函數
plt.scatter(x,y) 繪製散點圖,其中,x和y長度相同
plt.step(x,y,where) 繪製步階圖
plt.hist(x,bins,normed) 繪製直方圖
plt.contour(X,Y,Z,N) 繪製等值圖
plt.vlines() 繪製垂直圖
plt.stem(x,y,linefmt,markerfmt) 繪製柴火圖
plt.plot_data() 繪製數據日期

pyplot餅圖的繪製

clipboard.png

clipboard.png

pyplot直方圖的繪製

clipboard.png

clipboard.png

pyplot極座標圖的繪製

clipboard.png

clipboard.png

pyplot散點圖的繪製

clipboard.png

clipboard.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章