Могут ли matplotlib errorbars установить линейный набор?

Можно ли установить один и тот же linestyle в matplotlib errorbars, чем в datapoints linestyle?

В приведенном ниже примере построены две строки, одна из которых пунктирна из-за ls = '-.' параметр. Тем не менее, панель ошибок - сплошные линии. Можно ли изменить стиль/внешний вид ошибок в соответствии с линией результатов?

import matplotlib.pyplot as plt
import numpy as np

x = np.array(range(0,10))
y = np.array(range(0,10))
yerr = np.array(range(1,11)) / 5.0
yerr2 = np.array(range(1,11)) / 4.0

y2 = np.array(range(0,10)) * 1.2

plt.errorbar(x, y, yerr=yerr, lw=8, errorevery=2, ls='-.')
plt.errorbar(x, y2, yerr=yerr2, lw=8, errorevery=3)
plt.show()

Ответы

Ответ 1

Это тривиально, изменение линейного кода ошибок требует только простого вызова .set_linestyle:

eb1=plt.errorbar(x, y, yerr=yerr, lw=2, errorevery=2, ls='-.')
eb1[-1][0].set_linestyle('--') #eb1[-1][0] is the LineCollection objects of the errorbar lines
eb2=plt.errorbar(x, y2, yerr=yerr2, lw=2, errorevery=3)
eb2[-1][0].set_linestyle('-.')

enter image description here