Как показать горизонтальные линии на кончиках гистограммы с помощью matplotlib? - PullRequest
0 голосов
/ 31 августа 2018

Я могу сгенерировать график ошибок, используя код ниже. График, созданный кодом, показывает вертикальные линии, которые представляют ошибки в y. Я хотел бы иметь горизонтальные линии на кончиках этих ошибок ("полосок ошибок") и не уверен, как это сделать.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(1, 10, 10, dtype=int)
y = 2**x
yerr = np.sqrt(y)*10

fig, ax = plt.subplots()
ax.errorbar(x, y, yerr, solid_capstyle='projecting')
ax.grid(alpha=0.5, linestyle=':')
plt.show()
plt.close(fig)

Код генерирует рисунок ниже. Я играл с solid_capstyle kwarg. Есть ли определенный kwarg, который делает то, что я пытаюсь сделать? Error Plot

И в качестве примера того, что я хотел бы, рисунок ниже:

example solution

В случае необходимости я использую matplotlib 2.2.2

1 Ответ

0 голосов
/ 31 августа 2018

Вы ищете аргумент capsize= в ax.errorbar(). По умолчанию используется значение None, поэтому длина колпачка по умолчанию будет равна matplotlib.rcParams["errorbar.capsize"]. Число, которое вы дадите, будет длиной кепки в пунктах:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(1, 10, 10, dtype=int)
y = 2**x
yerr = np.sqrt(y)*10

fig, ax = plt.subplots()
ax.errorbar(x, y, yerr, solid_capstyle='projecting', capsize=5)
ax.grid(alpha=0.5, linestyle=':')
plt.show()

enter image description here

...