1. 程式人生 > 其它 >matplotlib用法總結(標記、畫圖)

matplotlib用法總結(標記、畫圖)

  此前總結過兩次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()
View Code

  畫統計圖示例:

  最簡單的語句是

  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()
View Code

實驗效果:

各個引數表說明:

plt.legend(loc='center') 中的loc引數(預設會自動調整到適應位置):

'best':0, (only implementedforaxes 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

未完待續......