此前總結過兩次matplotlib庫,此次進一步加深並擴展更多用法。
前兩次文章
一:https://www.cnblogs.com/2020zxc/p/13369178.html
二:https://www.cnblogs.com/2020zxc/p/13620865.html
本次總結綜合以前所學,歸納用法,以及把一些較好的文章推出來
畫折線統計圖,使用關鍵函數:
plt.plot()
畫出條形統計圖:
plt.bar()
顯示圖片,使用關鍵函數
plt.imshow
顯示圖片示例代碼:

img0 = cv2.imread(imgpath2) # imgpath2是完整圖像路徑,由於opencv讀取的通道順序是bgr,因此需要轉換為rgb imgb,imgg,imgr = cv2.split(img0) img = [imgr,imgg,imgb] img = cv2.merge(img) cv2.cvtColor(img, cv2.COLOR_BGR2RGB) cv2.imshow('test', img) cv2.waitKey(0) plt.figure(figsize=(8, 6), dpi=80) # figsize表示創建顯示圖片窗口大小,dpi表示分辨率,也可以不填,使用默認參數 plt.imshow(img, alpha=0.5, cmap=plt.cm.gray) # 輸入需要顯示的圖片img(ndarry類型變量),alpha=0.5表示透明度為50%,cmap=plt.cm.gray表示顯示為灰色,cmap還可以填入其他參數 plt.show()
畫統計圖示例:
最簡單的語句是
plt.plot(x, y),表示輸入x和y兩個list,將根據各個對應點畫出折線統計圖,因此x、y長度必須保持一致(可以寫一個函數讓他們有對照關系)。
x、y對照生成代碼如:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-3, 3, step=0.1)
y = np.sin(x)
plt.plot(x, y)
plt.show()
更深層次地,可以對特殊點標記、注釋、透明、加某個點的文本標記等。

導入必要的包省略..... 隨便創建幾條曲線: x = np.arange(-3, 3, 0.3) y = np.cos(x)*x y2 = np.sin(x)*x**3-x y3 = np.sin(x)*x**2-x plt.plot(x, y, 'o', ms=5, color='blue', label='label1',alpha=0.9) plt.plot(x, y2, linestyle='--',color='red', alpha=0.4,label='label2') plt.plot(x, y3, marker='x',color='green', alpha=0.8,label='label3') # 'o'表示使用圓形畫出散點圖,默認為實線,color表示點的顏色,label表示對曲線說明標記,alpha表示透明度 # linestyle表示折線圖的樣式,可以有虛線實現點划等等, # 以上的‘o’與linestyle命令不可以同時在同一個函數使用,且都不可以與marker命令使用 # 實踐可以發現,marker命令會把曲線上的點和點與點之間的連接都確定 plt.legend() # 使用默認標簽位置,會自動調整適合區域,設置label后必須調用該函數 plt.show()
實驗效果:
各個參數表說明:
plt.legend(loc='center') 中的loc參數(默認會自動調整到適應位置):
'best'
:
0
, (only implemented
for
axes legends)(自適應方式)
'upper right'
:
1
,
'upper left'
:
2
,
'lower left'
:
3
,
'lower right'
:
4
,
'right'
:
5
,
'center left'
:
6
,
'center right'
:
7
,
'lower center'
:
8
,
'upper center'
:
9
,
'center'
:
10
,
顏色color:
blue 藍,縮寫為: b
green 綠,縮寫為 g
red 紅 r
cyan 藍綠 c
magenta 洋紅 m
yellow 黃 y
black 黑 k
white 白 w
線型linestyle:
實線 '-'
虛線 '--'
點畫線 '-.
點線 ':'
點型參數如marker
未完待續......