Matplotlib Pyplot

2022-07-04 17:55 更新

Pyplot 是 Matplotlib 的子庫,提供了和 MATLAB 類似的繪圖 API。

Pyplot 是常用的繪圖模塊,能很方便讓用戶繪制 2D 圖表。

Pyplot 包含一系列繪圖函數的相關函數,每個函數會對當前的圖像進行一些修改,例如:給圖像加上標記,生新的圖像,在圖像中產生新的繪圖區(qū)域等等。

使用的時候,我們可以使用 ?import ?導入 pyplot 庫,并設置一個別名 ?plt?:

import matplotlib.pyplot as plt

這樣我們就可以使用 ?plt ?來引用 Pyplot 包的方法。

以下實例,我們通過兩個坐標 (0,0) 到 (0,100) 來繪制一條線:

實例

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([0, 6])
ypoints = np.array([0, 100]) 

plt.plot(xpoints, ypoints)
plt.show()

輸出結果如下所示:

以上實例中我們使用了 Pyplot 的 plot() 函數, plot() 函數是繪制二維圖形的最基本函數。

plot() 用于畫圖它可以繪制點和線,語法格式如下:

# 畫單條線
plot([x], y, [fmt], *, data=None, **kwargs)
# 畫多條線
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

參數說明:

  • x, y:點或線的節(jié)點,x 為 x 軸數據,y 為 y 軸數據,數據可以列表或數組。
  • fmt:可選,定義基本格式(如顏色、標記和線條樣式)。
  • **kwargs:可選,用在二維平面圖上,設置指定屬性,如標簽,線的寬度等。
>>> plot(x, y)        # 創(chuàng)建 y 中數據與 x 中對應值的二維線圖,使用默認樣式
>>> plot(x, y, 'bo')  # 創(chuàng)建 y 中數據與 x 中對應值的二維線圖,使用藍色實心圈繪制
>>> plot(y)           # x 的值為 0..N-1
>>> plot(y, 'r+')     # 使用紅色 + 號

顏色字符:'b' 藍色,'m' 洋紅色,'g' 綠色,'y' 黃色,'r' 紅色,'k' 黑色,'w' 白色,'c' 青綠色,'#008000' RGB 顏色符串。多條曲線不指定顏色時,會自動選擇不同顏色。

線型參數:'‐' 實線,'‐‐' 破折線,'‐.' 點劃線,':' 虛線。

標記字符:'.' 點標記,',' 像素標記(極小點),'o' 實心圈標記,'v' 倒三角標記,'^' 上三角標記,'>' 右三角標記,'<' 左三角標記...等等。

如果我們要繪制坐標 (1, 3) 到 (8, 10) 的線,我們就需要傳遞兩個數組 [1, 8] 和 [3, 10] 給 plot 函數:

實例

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 8])
ypoints = np.array([3, 10])

plt.plot(xpoints, ypoints)
plt.show()

以上代碼輸出結果為:

如果我們只想繪制兩個坐標點,而不是一條線,可以使用 o 參數,表示一個實心圈的標記:

繪制坐標 (1, 3) 和 (8, 10) 的兩個點

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 8])
ypoints = np.array([3, 10])

plt.plot(xpoints, ypoints, 'o')
plt.show()

以上代碼輸出結果為:

我們也可以繪制任意數量的點,只需確保兩個軸上的點數相同即可。

繪制一條不規(guī)則線,坐標為 (1, 3) 、 (2, 8) 、(6, 1) 、(8, 10),對應的兩個數組為:[1, 2, 6, 8] 與 [3, 8, 1, 10]。

實例

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 2, 6, 8])
ypoints = np.array([3, 8, 1, 10])

plt.plot(xpoints, ypoints)
plt.show()

以上代碼輸出結果為:

如果我們不指定 x 軸上的點,則 x 會根據 y 的值來設置為 0, 1, 2, 3..N-1。

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([3, 10])

plt.plot(ypoints)
plt.show()

以上代碼輸出結果為:

從上圖可以看出 x 的值默認設置為 [0, 1]。

再看一個有更多值的實例:

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([3, 8, 1, 10, 5, 7])

plt.plot(ypoints)
plt.show()

以上代碼輸出結果為:

從上圖可以看出 x 的值默認設置為 [0, 1, 2, 3, 4, 5]。

以下實例我們繪制一個正弦和余弦圖,在 plt.plot() 參數中包含兩對 x,y 值,第一對是 x,y,這對應于正弦函數,第二對是 x,z,這對應于余弦函數。

實例

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0,4*np.pi,0.1)   # start,stop,step
y = np.sin(x)
z = np.cos(x)
plt.plot(x,y,x,z)
plt.show()

以上代碼輸出結果為:


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號