一、參數(shù)介紹
plt.errorbar是matplotlib庫(kù)中的一個(gè)函數(shù),用于繪制帶誤差線的線圖。它的主要參數(shù)有:
1. x、y
指定數(shù)據(jù)的橫縱坐標(biāo),必須是數(shù)組或者是標(biāo)量。
2. xerr、yerr
指定x和y的誤差,可以是標(biāo)量、數(shù)組或者是None。當(dāng)xerr或yerr為空時(shí),將不會(huì)繪制誤差條。
3. fmt
繪制線和誤差線的格式字符串,用字符串中的字符表示線條的顏色、線型、標(biāo)記樣式等。默認(rèn)為線條、圓圈標(biāo)記和相同的顏色。
4. ecolor
誤差線的顏色,可以為標(biāo)量和數(shù)組。默認(rèn)為與線條顏色相同。
5. capsize
指定誤差線上下端點(diǎn)的大小,默認(rèn)為無(wú)。當(dāng)capsize非零時(shí),將在誤差線上下兩側(cè)繪制小直線。
二、plt.errorbar設(shè)置不同顏色
plt.errorbar函數(shù)可以通過(guò)fmt參數(shù)來(lái)設(shè)置線條的顏色、線型、標(biāo)記樣式等,但有時(shí)候我們需要更加定制化的色彩搭配。在這種情況下,我們可以通過(guò)指定不同的ecolor參數(shù)值來(lái)繪制不同顏色的誤差線。
例如,我們要在一幅圖中同時(shí)繪制三組數(shù)據(jù)的線條和誤差線,并為它們指定不同的顏色。我們可以按照下面的代碼來(lái)實(shí)現(xiàn):
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(5)
y1 = np.array([1, 2, 3, 4, 5])
y2 = y1 * 2
y3 = y1[::-1]
fig, ax = plt.subplots()
ax.errorbar(x, y1, yerr=0.5, fmt='o', ecolor='red', capsize=2)
ax.errorbar(x, y2, yerr=0.5, fmt='o', ecolor='blue', capsize=2)
ax.errorbar(x, y3, yerr=0.5, fmt='o', ecolor='green', capsize=2)
plt.show()
在上面的代碼中,我們首先生成了三個(gè)不同的y數(shù)據(jù)(y1、y2、y3),然后定義了一個(gè)figure對(duì)象和一個(gè)axes對(duì)象。接下來(lái),我們依次調(diào)用三次errorbar函數(shù),分別繪制三個(gè)數(shù)據(jù)集的線條和誤差線。每次調(diào)用errorbar函數(shù)時(shí),我們都為其指定了不同的ecolor參數(shù)值,分別為'red'、'blue'和'green'。最后,將圖形顯示出來(lái)。
三、使用plt.errorbar繪制多維誤差線圖
有時(shí)候,我們需要在一幅圖中同時(shí)繪制多種類(lèi)型的誤差線,如水平誤差線、垂直誤差線、對(duì)稱誤差線等。此時(shí),我們可以使用plt.errorbar函數(shù)的xerr、yerr參數(shù)同時(shí)傳遞多維數(shù)據(jù)。
例如,我們要在一幅圖中繪制含有水平錯(cuò)誤線、豎直錯(cuò)誤線和對(duì)稱錯(cuò)誤線的散點(diǎn)圖,可以按照下面的代碼來(lái)實(shí)現(xiàn):
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(5)
y = np.array([1, 2, 3, 4, 5])
xerr = yerr = np.array([0.3, 0.2, 0.4, 0.1, 0.5])
verterr = np.array([0.2, 0.3, 0.5, 0.1, 0.4])
horerr = np.array([0.1, 0.2, 0.3, 0.2, 0.4])
fig, ax = plt.subplots()
ax.errorbar(x, y, xerr=xerr, yerr=yerr, fmt='o', ecolor='black', capsize=2)
ax.errorbar(x, y, xerr=horerr, yerr=verterr, fmt='o', ecolor='red', capsize=2)
plt.show()
在上面的代碼中,我們首先生成了一個(gè)x數(shù)組和一個(gè)y數(shù)組,然后生成了三個(gè)誤差數(shù)組。xerr和yerr數(shù)組表示的是對(duì)稱誤差,即在x和y方向的誤差都是一樣的;verterr和horerr數(shù)組分別表示垂直和水平方向的誤差。接下來(lái),我們?cè)谕粋€(gè)axes對(duì)象上繪制了兩組errorbar函數(shù),第一組表示對(duì)稱誤差,第二組表示水平和垂直方向的誤差。最后,將結(jié)果圖形顯示出來(lái)。