導入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
- ...
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
一般推薦使用第二種
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:箭頭顯示的一些屬性
pyplot的子繪圖區域
plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)
理念:設定網格,選中網格,確定選中行列區域數量,編號從0開始
- GridSpec :將區域分割的網格形狀,元組
- CurSpec:當前爲subplot選定的位置
- colspan:列的方向的延申(即橫向)
- rowspan:行的方向的延申(即縱向)
也可以用GridSpec類+subplot實現相同的效果
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餅圖的繪製
pyplot直方圖的繪製
pyplot極座標圖的繪製
pyplot散點圖的繪製