layout: post title: ‘從一副圖的繪製瞭解繪圖的常用操作’ subtitle: ‘’ date: 2019-05-29 categories: 數據分析 cover: ‘’ tags: 數據分析 —
從一副圖的繪製瞭解繪圖的常用操作
1. 繪製一副普通的曲線圖
默認的plot(x,y,format_string,**kwargs)
方法就會繪製一副曲線圖,他的參數如下
x
:x
軸座標的數據y
:y
軸的數據format_string
:曲線格式化字符串,曲線是利用字符串來設置樣式的,可以傳入顏色,也可以傳入線的樣式,還可以兩個組合一起傳入**kwargs
:可以是另一組同樣的參數,也可以是其他支持的參數
x = np.linspace(-np.pi,np.pi,256)
plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x))
上面3行代碼就可以繪製一個圖了
還可以更短
plt.plot(x,np.sin(x),'b-',x,np.cos(x),'r-')
這樣一下就可以繪製兩組甚至多組數據
2. 修改顏色和線寬
顏色可以使用format_string
來修改,線寬可以使用另外一個參數lw
來修改,lw
其實就是linewidth
的縮寫,可以改成這樣
plt.plot(x,np.sin(x),'b-',lw=3)
plt.plot(x,np.cos(x),'r-',lw=3)
圖片就變成這樣了,matplotlib支持的顏色如下,也可以使用argb
來配色
顏色字符 | 說明 | 顏色字符 | 說明 |
---|---|---|---|
‘b’ | blue 藍色 | ‘y’ | yellow 黃色 |
‘g’ | green 綠色 | ‘k’ | black 黑色 |
‘r’ | red 紅色 | ‘w’ | white 白色 |
‘c’ | cyan 青綠色 | ‘#rrggbb’ | RGB顏色 |
‘m’ | magenta 洋紅色 | ‘0.8’ | 灰度值 |
支持的線的風格如下
樣式字符 | 說明 | 樣式字符 | 說明 |
---|---|---|---|
‘-‘ | 實線風格 | ‘–’ | 虛線風格 |
‘-.’ | 點劃線風格 | ‘:’ | 虛線風格 |
‘’ ‘ ‘ | 無線條 |
支持的標記風格如下
標記字符 | 說明 | 標記字符 | 說明 |
---|---|---|---|
‘.’ | 點標記 | ‘,’ | 像素標記 |
‘o’ | 圓圈標記 | ‘v’ | 下三角標記 |
‘^’ | 上三角標記 | ‘<’ | 左三角標記 |
‘>’ | 右三角標記 | ‘1’ | 下花三角標記 |
‘2’ | 上花三角標記 | ‘3’ | 左花三角標記 |
‘4’ | 右花三角標記 | ‘s’ | 正方形標記 |
‘p’ | 五邊形標記 | ‘*’ | 星標記 |
‘h’ | 六邊形1標記 | ‘H’ | 六邊形2標記 |
‘+’ | 十字標記 | ‘x’ | x標記 |
‘D’ | 菱形標記 | ‘d’ | 瘦菱形標記 |
‘ | 垂直線標記 | ‘_’ | _標記 |
處理支持使用format_string
的方式設置線的樣式,他還支持單獨設置樣式顏色對應color
參數,線的樣式linestyle
對應ls
,標記對應marker
#plt.plot(x,np.sin(x),'b_',marker='o')
#plt.plot(x,np.cos(x),'r:',marker='^')
plt.plot(x,np.sin(x),color='b',ls='-',marker='o')
plt.plot(x,np.cos(x),color='r',ls='--',marker='^')
3. 調整座標軸的範圍
調整座標軸一般要用到xlim()
和ylim()
函數,他們都傳入兩個參數分別x軸的最大值和最小值,y軸的最大值和最小值,
plt.plot(x,np.sin(x),color='b',ls='-')
plt.plot(x,np.cos(x),color='r',ls='--')
plt.xlim(-4,4)
plt.ylim(-2,2)
就可以得到下面這幅圖
4. 修改軸刻度
修改軸刻度使用xticks
和yticks
,他們可以傳入一個列表(只要可迭代就行)的一個數據,然後matplotlib會自動計算設置的刻度位置,如
plt.plot(x,np.sin(x),color='b',ls='-')
plt.plot(x,np.cos(x),color='r',ls='--')
plt.xlim(-4,4)
plt.ylim(-2,2)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi])
就可以設置x的刻度
與此同時可以使用別名來代表x軸的位置,這需要傳入兩個列表,如
#plt.plot(x,np.sin(x),'b_',marker='o')
#plt.plot(x,np.cos(x),'r:',marker='^')
plt.plot(x,np.sin(x),color='b',ls='-')
plt.plot(x,np.cos(x),color='r',ls='--')
plt.xlim(-4,4)
plt.ylim(-2,2)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\frac{\pi}{2}$','0',r'$\frac{\pi}{2}$',r'$\pi$'])
這樣可以使用更加常見的的方式代替x軸座標
5. 設置圖例
設置圖例在多個圖時候顯得尤爲重要,設置圖例一般使用legend()
函數來實現,當然也可以在繪圖的時候加入一個label
參數來實現
plt.plot(x,np.sin(x),color='b',ls='-',label='sin')
plt.plot(x,np.cos(x),color='r',ls='--',label='cos')
plt.xlim(-4,4)
plt.ylim(-2,2)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\frac{\pi}{2}$','0',r'$\frac{\pi}{2}$',r'$\pi$'])
plt.legend()
當然也可以這樣
plt.plot(x,np.sin(x),color='b',ls='-')
plt.plot(x,np.cos(x),color='r',ls='--')
plt.xlim(-4,4)
plt.ylim(-2,2)
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\frac{\pi}{2}$','0',r'$\frac{\pi}{2}$',r'$\pi$'])
plt.legend(['sin','cos'],loc='best')
這種的效果跟上面的效果是一樣的,只是要注意順序