Python之matplotlib基礎
Python之matplotlib基礎
matplotlib是Python優秀的資料視覺化第三方庫
matplotlib庫的效果可參考
http://matplotlib.org/gallery.html
matplotlib的使用 由各種視覺化類構成,內部結構複雜,受matlab庫啟發,matplotlab.pyplot是繪製種類視覺化圖形的命令子庫,相當於快捷方式
import matplotlib.pyplot as plt
一個小示例
import matplotlib.pyplot as plt
plt.plot([2,3,4,5,1,6])
plt.ylabel("Grade")
plt.ylabel("number")
plt.axis([-1,11,0,7])
plt.savefig('test',dpi=600)#plt.savefig()將輸出圖形儲存為檔案,預設為png格式,可以通過dpi修改輸出質量
plt.show()
得到結果
繪製多圖subplot
plot.subplot(nrows,ncols,plot_number)
在全域性繪製區域中建立一個分割槽體系,並定位到一個子繪圖區域
pyplot繪圖區域示例
import numpy as np
import matplotlib.pyplot as plt
def f(t):
return np.exp(-t) * np.cos(2 * np.pi * t)
a = np.arange(0.0, 5.0, 0.02)
plt.subplot(211)
plt.plot(a, f(a))
plt.subplot(2, 1, 2)
plt.plot(a, np.cos(2 * np.pi * a), 'r--')
plt.savefig('test',dpi=600)
plt.show()
得到結果:
pyplot的plot()函式詳解
plt.plot(x,y,format_string,**kwargs)
x:x軸資料,列表或陣列,可選
y:y軸資料,列表或陣列
format_string: 控制曲線的格式字串,可遷
**kwargs: 第二組或更多的(x,y,format_string)
注意:當繪製多條曲線時,各條曲線的x不能省略
format_string:控制曲線的格式字串,可選。由顏色字元、風格字元和標記字元組成
顏色字元 | 說明 | 顏色字元 | 說明 |
---|---|---|---|
‘b’ | blue | ‘m’ | magenta洋紅色 |
‘g’ | green | ‘y’ | 黃色 |
‘r’ | red | ‘k’ | 黑色 |
‘c’ | cyan青綠色 | ‘w’ | 白色 |
‘#008000’ | RGB某顏色 | ‘0.8’ | 灰度值字串 |
風格字元 | 說明 |
---|---|
‘-‘ | 實線 |
‘–’ | 破折線 |
‘-.’ | 點劃線 |
‘:’ | 虛線 |
’ ‘ | 無線條 |
標記字元 | 說明 | 標記字元 | 說明 | 標記字元 | 說明 |
---|---|---|---|---|---|
‘.’ | 點標記 | ‘1’ | 下花三角標記 | ‘h’ | 豎六邊形標記 |
‘,’ | 畫素標記(極小點) | ‘2’ | 上花三角標記 | ‘H’ | 橫六邊形標記 |
‘o’ | 實心圏標記 | ‘3’ | 左花三角標記 | ‘+’ | 十字形標記 |
‘v’ | 倒三角標記 | ‘4’ | 右花三角標記 | ‘x’ | x標記 |
‘^’ | 上三角標記 | ’s’ | 實心方形標記 | ‘D’ | 菱形標記 |
‘>’ | 右三角標記 | ‘p’ | 實心五角標記 | ‘d’ | 瘦菱形標記 |
‘<’ | 左三角標記 | ‘*’ | 星形標記 | ‘ | ‘ |
**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
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
plt.plot([3,1,4,5,2])
plt.ylabel('縱軸值')
plt.savefig('test',dpi=600)
plt.show()
結果如下:
rcParams的屬性
屬性 | 說明 |
---|---|
‘font.family’ | 用於顯示字型的名字 |
‘font.style’ | 字型風格,正常’normal’或斜體’italic’ |
‘font.size’ | 字型大小,整數字號或者’large’,’x-small’ |
中文字型的種類
rcParams[‘font.family’]
中文字型 | 說明 |
---|---|
‘SimHei’ | 中文黑體 |
‘Kaiti’ | 中文楷體 |
‘LiSu’ | 中文隸書 |
‘FangSong’ | 中文仿宋 |
‘YouYuan’ | 中文幼圓 |
STSong | 華文宋體 |
示例:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
matplotlib.rcParams['font.family']='STSong'
matplotlib.rcParams['font.size']=20
a = np.arange(0.0,5.0,0.02)
plt.xlabel('縱軸: 振幅')
plt.ylabel('橫軸: 時間')
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.savefig('test',dpi=600)
plt.show()
區域性設定中文字型
在有中文輸出的地方,增加一個屬性:fontproperties
import matplotlib.pyplot as plt
import numpy as np
a = np.arange(0.0,5.0,0.02)
plt.xlabel('縱軸: 振幅', fontproperties='SimHei',fontsize=20)
plt.ylabel('橫軸: 時間', fontproperties='SimHei',fontsize=20)
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.savefig('test',dpi=600)
plt.show()
注意到,如果設定全域性字型的話,那麼座標軸的字型也被改變,區域性設定中文字型不改變座標軸的字型。
pyplot的文字顯示
pyplot的文字顯示函式
函式 | 說明 |
---|---|
plt.xlabel() | 對x軸增加文字標籤 |
plt.ylabel() | 對y軸增加文字標籤 |
plt.title() | 對圖形本整體增加文字標籤 |
plt.text() | 在任意位置增加文字 |
plt.annotate() | 在圖形中增加帶箭頭的註釋 |
text函式示例
import matplotlib.pyplot as plt
import numpy as np
a = np.arange(0.0,5.0,0.02)
plt.xlabel('縱軸: 振幅', fontproperties='SimHei', fontsize=20, color = 'green')
plt.ylabel('橫軸: 時間', fontproperties='SimHei', fontsize=20)
plt.title(r'正弦波例項$y=cos(2\pi x)$',fontproperties='SimHei',fontsize=25)
plt.text(2,1,r'$\mu=100$',fontsize=15)
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.savefig('test',dpi=600)
plt.show()
annotate函式示例
import matplotlib.pyplot as plt
import numpy as np
a = np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.xlabel('縱軸: 振幅', fontproperties='SimHei', fontsize=20, color = 'green')
plt.ylabel('橫軸: 時間', fontproperties='SimHei', fontsize=20)
plt.title(r'正弦波例項$y=cos(2\pi x)$',fontproperties='SimHei',fontsize=25)
plt.annotate(r'$\mu=100$',xy=(2,1),xytext=(3,1.5),
arrowprops=dict(facecolor='black',shrink=0.1,width=2))
plt.axis([-1,6,-2,2])
plt.grid()
plt.savefig('test',dpi=600)
plt.show()
相關文章
- python程式設計基礎:深度學習基礎:繪相簿之matplotlib(1)Python程式設計深度學習
- 【matplotlib基礎】--動畫動畫
- Matplotlib繪圖基礎繪圖
- Matplotlib基礎繪圖功能繪圖
- 大資料分析/機器學習基礎之matplotlib繪圖篇大資料機器學習繪圖
- 【matplotlib基礎】--結合地圖地圖
- python之matplotlib製作基礎圖表以及圖例,標註,marker,中文設定Python
- python繪圖之matplotlibPython繪圖
- Python基礎之模組Python
- python基礎之字串Python字串
- Python基礎之(三)之字典Python
- Python-matplotlib-入門教程(一)-基礎圖表繪製Python
- 【matplotlib基礎】--3D圖形3D
- Matplotlib資料視覺化基礎視覺化
- python 基礎之檔案Python
- python 基礎之物件管理Python物件
- python基礎之函式Python函式
- Python基礎之四:Python3 基礎資料型別Python資料型別
- Python基礎之Python資料世界Python
- Python基礎之:Python中的類Python
- Python基礎之:Python中的IOPython
- Python基礎知識之字典Python
- Python基礎知識之集合Python
- python之字典(dict)基礎篇Python
- python 基礎之模組與包Python
- pandas學習之Python基礎Python
- Python基礎之物件導向Python物件
- python基礎之元組,列表Python
- python urllib 基礎之 3Python
- 五、Python函式之基礎Python函式
- 【Python資料探勘課程】六.Numpy、Pandas和Matplotlib包基礎知識Python
- python基礎之字串和編碼Python字串
- Python基礎之閉包函式Python函式
- python基礎學習之 特徵工程Python特徵工程
- python基礎之資料型別Python資料型別
- Python基礎學習之迴圈Python
- python之tuple元組,基礎篇Python
- python 基礎之異常處理Python