создание errorbars не отсеченный в matplotlib с Python

Я использую matplotlib в Python, чтобы построить график с errorbars следующим образом:

plt.errorbar(xvalues, up_densities, yerr=ctl_sds, fmt='-^', lw=1.2, markersize=markersize,
         markeredgecolor=up_color, color=up_color, label="My label", clip_on=False)
plt.xticks(xvalues)

Я установил галочки на оси X с помощью "xticks". Однако значение погрешности последней точки в xvalues (т.е. xvalues [-1]) отсекается справа - значение, что только половина значения погрешности появляется. Это верно даже с clip_on=False опцией. Как я могу зафиксировать это, так, чтобы значение погрешности появилось полностью, даже при том, что их правая сторона технически снаружи xvalues [-1]?

спасибо.

7
задан 15 May 2010 в 23:49
поделиться

2 ответа

В matplotlib большая часть детального управления должна выполняться через художников. Я думаю, это должно делать то, что вы хотите:

import matplotlib.pyplot as plt
from random import uniform as r

x = range(10)
e = plt.errorbar(x, [r(2,10) for i in x], [r(.1,1) for i in x], capsize=8, color='r')

for b in e[1]:
    b.set_clip_on(False)

plt.show()

enter image description here

Проблема, с которой вы столкнулись, заключалась в том, что ключевое слово clip_on использовалось для управления маркерами, а не полосами ошибок. Для управления полосами ошибок plt.errorbar возвращает кортеж, где второй элемент представляет собой список полос ошибок. Итак, я просматриваю список и выключаю отсечение для каждой панели ошибок.

13
ответ дан 6 December 2019 в 19:34
поделиться

Это то, что вы иметь в виду? Вы хотите изменить горизонтальные границы вашего участка?

plt.errorbar(range(5), [3,2,4,5,1], yerr=[0.1,0.2,0.3,0.4,0.5])
ax = plt.gca()
ax.set_xlim([-0.5,4.5])

Matplotlib errorbar
(источник: stevetjoa.com )

0
ответ дан 6 December 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: