Как установить ширину строки в столбцах ошибок, в matplotlib?
Как можно изменить ширину строки в столбце ошибок в Matplotlib?
Я попробовал следующий код:
(_, caplines, _) = matplotlib.pyplot.errorbar(
data['distance'], data['energy'], yerr=data['energy sigma'],
capsize=10, elinewidth=3)
for capline in caplines:
capline.set_linewidth(10)
capline.set_color('red')
pp.draw()
К сожалению, это обновляет цвет кепок, но не обновляет ширину линии кепок!
Результирующий эффект похож на "штриховые линии/тонкие крышки" на следующем изображении:
![enter image description here]()
Было бы неплохо иметь "толстые" штыри, в случае; как это можно сделать, в Matplotlib? Рисование штриховых прокладок "вручную", один за другим с plot()
будет работать, но проще будет более простая альтернатива.
Ответы
Ответ 1
Это основано на ответе @joaquin, но немного более кратким (если вам просто нужны простые колпачки ошибок без специального стиля):
distance = [1,3,7,9]
energy = [10,20,30,40]
sigma = [1,3,2,5]
plt.errorbar(distance,
energy,
sigma,
capsize=5,
elinewidth=2,
markeredgewidth=2)
![введите описание изображения здесь]()
Ответ 2
EOL, вы были очень близки..,
distance = [1,3,7,9]
energy = [10,20,30,40]
sigma = [1,3,2,5]
(_, caps, _) = plt.errorbar(distance, energy, sigma, capsize=20, elinewidth=3)
for cap in caps:
cap.set_color('red')
cap.set_markeredgewidth(10)
plt.show
![enter image description here]()
set_markeredgewidth
устанавливает ширину линий крышки.
Объекты Matplotlib имеют так много атрибутов, что часто трудно запомнить правильные для данного объекта. IPython - очень полезный инструмент для интроспекции matplotlib. Я использовал его для анализа свойств 2D-линий, соответствующих линиям ограничения ошибок, и я обнаружил, что и другие свойства маркера.
Приветствия