matplotlib概念性内容
目錄
matplotlib概念性内容
1.figure和subplot(畫布與子圖)
1.1建立一個fig對象
1.2空figure不能繪圖,必須添加一個或者多個subplot繪圖add_subplot
1.3畫圖
2.顔色、标記、線型
2.1以上參數使用ax1.plot()傳入,具體如下:
3.刻度、标簽、圖例
3.1使用pyplot接口方式、和面向對象方式的差別(建議使用面向對象方法,因為這樣不會混淆)
3.2設定标題,軸标簽,刻度标簽
3.3添加圖例
4.給特殊點添加注釋
4.1通過text/arrow/annotate方法添加
5.儲存到檔案
5.1通過fig.savefig('figpath.png')儲存
6.matplotlib初始化配置設定
-
figure和subplot(畫布與子圖)
- matplotlib的圖像都位于Figure對象中
-
建立一個fig對象
fig = plt.figure( ) ''' plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, (是否可繪制圖形框)frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, clear=False, **kwargs) num:輸入數字,則此數字為圖号;輸入字元串,則畫布的标題會被設定為此字元串;不輸入,則會建立一個新圖号,随着畫布以後的建立,圖号會相應增大。 figsize:(寬,高)機關英尺 facecolor:背景色 edgecolor:邊框色 '''
-
空figure不能繪圖,必須添加一個或者多個subplot繪圖add_subplot
.ax1 = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2,2,2)
-
畫圖
- plt.plot()指令會在最後一個使用過的axes上面繪制
- ax.方法(),也可以通過調用axes執行個體進行畫圖
-
- matplotlib的圖像都位于Figure對象中
-
顔色、标記、線型
-
以上參數使用ax1.plot()傳入,具體如下:
-
.ax1.plot(x, y, 'go--', linewidth=2, markersize=12) ax1.plot(x, y, color='green', marker='o', linestyle='dashed', linewidth=2, markersize=12,label='data1') #可以通過label添加資料的圖例
-
-
-
刻度、标簽、圖例
-
使用pyplot接口方式、和面向對象方式的差別(建議使用面向對象方法,因為這樣不會混淆)
""" _____________________________ pyplot方法 _____________________________ """ #調用時不帶參數,傳回目前參數值 plt.xlim() #調用時帶參數,則設定畫圖參數 plt.xlim([0,10]) """ _____________________________ 面向對象方法 _____________________________ """ ax1.get_xlim() ax1.set_xlim([0,10])
-
設定标題,軸标簽,刻度标簽
-
.#設定軸标簽 ax1.set_xlable('time') #設定軸刻度位置(表示在x=[0,10,20,30]這四個值時,顯示刻度) ax1.set_xticks([0,10,20,30]) #設定刻度标簽(表示在x=0時,這個刻度顯示的值為‘one’;x=10時,這個刻度顯示的值為'two'等) ax1.set_xtickslabels(['one','two','three','four','five'],rotation=30,fontsize='small') #rotation,表示把刻度标簽旋轉的度數,當标簽過長時,這個功能很友善 #fontsize,字型大小 #設定axes的标題 ax1.set_title('ax1')
-
-
添加圖例
-
#圖例添加:ax.polt()傳入資料的時候 ax1.polt(np.random.randn(10),'k--',label='data1') #圖例顯示 ax1.legend(loc='best') #顯示圖例的位置,一般選擇best就可以了,會把圖例放在一個最佳位置
-
-
-
給特殊點添加注釋
-
通過text/arrow/annotate方法添加
ax1.annotate('a1',xy=(10,data[11]),xytext=(13,3)) #a1,為要添加的注釋text; #xy,為要注釋的具體點坐标 #xytext為要注釋的文字的坐标位置
-
-
儲存到檔案
-
通過fig.savefig('figpath.png')儲存
-
-
matplotlib初始化配置設定
- plt.rc('fig對象',figsize=(10,10),axes=,xtick=,grid=,legend=)等方法建議查閱https://matplotlib.org/api/matplotlib_configuration_api.html?highlight=rc#matplotlib.rc