Matplotlib Pyplot

2022-07-04 17:55 更新

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

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

Pyplot 包含一系列繪圖函數(shù)的相關(guān)函數(shù),每個函數(shù)會對當(dāng)前的圖像進(jìn)行一些修改,例如:給圖像加上標(biāo)記,生新的圖像,在圖像中產(chǎn)生新的繪圖區(qū)域等等。

使用的時候,我們可以使用 ?import ?導(dǎo)入 pyplot 庫,并設(shè)置一個別名 ?plt?:

import matplotlib.pyplot as plt

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

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

實(shí)例

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

輸出結(jié)果如下所示:

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

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

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

參數(shù)說明:

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

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

線型參數(shù):'‐' 實(shí)線,'‐‐' 破折線,'‐.' 點(diǎn)劃線,':' 虛線。

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

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

實(shí)例

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

以上代碼輸出結(jié)果為:

如果我們只想繪制兩個坐標(biāo)點(diǎn),而不是一條線,可以使用 o 參數(shù),表示一個實(shí)心圈的標(biāo)記:

繪制坐標(biāo) (1, 3) 和 (8, 10) 的兩個點(diǎn)

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

以上代碼輸出結(jié)果為:

我們也可以繪制任意數(shù)量的點(diǎn),只需確保兩個軸上的點(diǎn)數(shù)相同即可。

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

實(shí)例

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

以上代碼輸出結(jié)果為:

如果我們不指定 x 軸上的點(diǎn),則 x 會根據(jù) y 的值來設(shè)置為 0, 1, 2, 3..N-1。

實(shí)例

import matplotlib.pyplot as plt
import numpy as np

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

plt.plot(ypoints)
plt.show()

以上代碼輸出結(jié)果為:

從上圖可以看出 x 的值默認(rèn)設(shè)置為 [0, 1]。

再看一個有更多值的實(shí)例:

實(shí)例

import matplotlib.pyplot as plt
import numpy as np

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

plt.plot(ypoints)
plt.show()

以上代碼輸出結(jié)果為:

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

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

實(shí)例

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

以上代碼輸出結(jié)果為:


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號