一、參數介紹
plt.errorbar是matplotlib庫中的一個函數,用于繪制帶誤差線的線圖。它的主要參數有:
1. x、y
指定數據的橫縱坐標,必須是數組或者是標量。
2. xerr、yerr
指定x和y的誤差,可以是標量、數組或者是None。當xerr或yerr為空時,將不會繪制誤差條。
3. fmt
繪制線和誤差線的格式字符串,用字符串中的字符表示線條的顏色、線型、標記樣式等。默認為線條、圓圈標記和相同的顏色。
4. ecolor
誤差線的顏色,可以為標量和數組。默認為與線條顏色相同。
5. capsize
指定誤差線上下端點的大小,默認為無。當capsize非零時,將在誤差線上下兩側繪制小直線。
二、plt.errorbar設置不同顏色
plt.errorbar函數可以通過fmt參數來設置線條的顏色、線型、標記樣式等,但有時候我們需要更加定制化的色彩搭配。在這種情況下,我們可以通過指定不同的ecolor參數值來繪制不同顏色的誤差線。
例如,我們要在一幅圖中同時繪制三組數據的線條和誤差線,并為它們指定不同的顏色。我們可以按照下面的代碼來實現:
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()
在上面的代碼中,我們首先生成了三個不同的y數據(y1、y2、y3),然后定義了一個figure對象和一個axes對象。接下來,我們依次調用三次errorbar函數,分別繪制三個數據集的線條和誤差線。每次調用errorbar函數時,我們都為其指定了不同的ecolor參數值,分別為'red'、'blue'和'green'。最后,將圖形顯示出來。
三、使用plt.errorbar繪制多維誤差線圖
有時候,我們需要在一幅圖中同時繪制多種類型的誤差線,如水平誤差線、垂直誤差線、對稱誤差線等。此時,我們可以使用plt.errorbar函數的xerr、yerr參數同時傳遞多維數據。
例如,我們要在一幅圖中繪制含有水平錯誤線、豎直錯誤線和對稱錯誤線的散點圖,可以按照下面的代碼來實現:
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()
在上面的代碼中,我們首先生成了一個x數組和一個y數組,然后生成了三個誤差數組。xerr和yerr數組表示的是對稱誤差,即在x和y方向的誤差都是一樣的;verterr和horerr數組分別表示垂直和水平方向的誤差。接下來,我們在同一個axes對象上繪制了兩組errorbar函數,第一組表示對稱誤差,第二組表示水平和垂直方向的誤差。最后,將結果圖形顯示出來。