原文鏈接:matplotlib基礎教程–1
今天記錄一下python可視化工具:matplotlib.pyplot的基本使用方法。
使用之前首先
import matplotlib.pyplot as plt
測試數據
num1 = [0.37454, 0.44534,0.45488,0.44852,0.44577,0.44364,0.43286,0.42771,0.4192,0.41142,0.4076]
num2 = [0.43393, 0.4404,0.44896,0.44887,0.44153,0.43881,0.43673,0.43677,0.43528,0.43393,0.43164]
x=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0]
添加子圖
一塊大的畫布可以分爲幾個小的畫布。
fig = plt.figure()
fig1 = fig.add_subplot(131)
上面的代碼將一個大的畫布分爲三個子圖。
add_subplot()方法就是添加一個子圖,其中的參數是一個數,例如131表示將畫布分爲1行3列(即3個子圖),該子圖爲第1個子圖。
P.S. 如果要添加第2以及第3個子圖,要首先畫完第一個子圖再執行fig2 = fig.add_subplot(132)
。必須添加一個子圖畫一個子圖。
經測試,如果一次性添加完3個子圖,那麼後面plt的設置都只會在最後一個子圖上生效。
更正 添加多個子圖後,plt默認會指向最後一個添加的子圖,所以plt的操作都是針對最後一個添加的子圖的。
可以使用 plt.sca(fig1)
(參數是前面創建的子圖的對象),來選擇前面創建的子圖,然後後面的操作就是針對選擇的fig1子圖的操作了。
畫線
下面我們在子圖1上進行畫圖。
fig1.plot(x, num1, label='a', linestyle='--', color='red', marker='D')
fig1.plot(x, num2, label='b', linestyle='-', color='blue', marker='o')
plt.yticks([0.1,0.2,0.3,0.4,0.5]) #設置y座標值
plt.xticks(x) # 設置x座標值
# plt.xlim([0, 0.5]) # 縮放x軸到區間(0, 0.5)
# plt.ylim([0, 0.5]) # 縮放y軸到區間(0, 0.5)
plt.tick_params(labelsize=16) # 設置座標字號
font1 = {'family' : 'Times New Roman', # 設置字體
'weight' : 'normal',
'size' : 23,
}
plt.legend(prop=font1,loc='best')
plt.grid(axis="y") # 在圖中按y軸添加網格線
plt.xlabel(axis = x',font1) # 設置x軸label
plt.ylabel('axis = y',font1) # 設置y軸label
plt.title("title") # 設置標題
plt.show()
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RTH8WdAQ-1570340488900)(example.png “例子”)]
由於我們是1行3列的子圖,我們只畫了第一幅,所以右邊兩幅的位置現在都是空白,所以右邊看起來比較空。
上面的操作基本上都有註釋解釋。這裏記錄一下plot函數中的參數以及對線段的屬性設置。
plot函數中,x是橫座標數組,num1是縱座標數組。label是線段的標籤,linestyle是線的種類(比如虛線、實線等),color是線的顏色,marker是數據點的形狀。
linestyle
字符 | 樣式 |
---|---|
‘-’ | solid line |
‘–’ | dashed line |
‘-.’ | dash-dot line |
‘:’ | dotted line |
marker
字符 | 樣式 |
---|---|
‘.’ | point marker |
‘,’ | pixel marker |
‘o’ | circle marker |
‘v’ | triangle down marker |
‘^’ | triangle up marker |
‘<’ | triangle left marker |
‘>’ | triangle right marker |
‘1’ | tri_down marker |
‘2’ | tri_up marker |
‘3’ | tri_left marker |
‘4’ | tri_right marker |
‘s’ | square marker |
‘p’ | pentagon marker |
‘*’ | star marker |
‘h’ | hexagon1 marker |
‘H’ | hexagon2 marker |
‘+’ | plus marker |
‘x’ | x marker |
‘D’ | diamond marker |
‘d’ | thin_diamond marker |
‘_’ | hline marker |