Как вставить панели ошибок на графиках нескольких осей? - PullRequest
0 голосов
/ 29 марта 2020

каждый!

Я строю некоторые данные, для которых требуется множественная ось y, используя twinx, например:

def make_patch_spines_invisible(ax):
ax.set_frame_on(True)
ax.patch.set_visible(False)
for sp in ax.spines.values():
    sp.set_visible(False) 
fig, host = plt.subplots()
fig.subplots_adjust(right=0.75)

par1 = host.twinx()
par2 = host.twinx()
par3 = host.twinx()

par2.spines["right"].set_position(("axes", 1.2))
par3.spines["right"].set_position(("axes", 1.4))
make_patch_spines_invisible(par2)
make_patch_spines_invisible(par3)
par2.spines["right"].set_visible(True)
par3.spines["right"].set_visible(True)

p1, = host.plot(x, y, data=data)
p2, = par1.plot(x, w, data=data)
p3, = par2.plot(x, z, data=data)
p4, = par3.plot(x, v, data=data)

lines = [p1, p2, p3]

plt.show()

Однако мне нужно добавить полосы ошибок в моих точках линии. Я пытался изменить plt.plot на plt.errorbar, чтобы я мог использовать аргумент yerr, но он возвращает

ValueError: too many values to unpack (expected 1)

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 29 марта 2020

Я только что решил проблему, удалив запятые перед переменными (они пришли с исходным кодом) в этой части

p1, = host.plot(x, y, data=data)
p2, = par1.plot(x, w, data=data)
p3, = par2.plot(x, z, data=data)
p4, = par3.plot(x, v, data=data)

После этого plt.errobar работал нормально.

...