如何使用matplotlib在误差条图的尖端显示水平线?

问题描述 投票:2回答:1

我可以使用下面的代码生成错误条图。代码生成的图表显示了代表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

python-3.x matplotlib errorbar
1个回答
1
投票

您正在寻找的论点是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

© www.soinside.com 2019 - 2024. All rights reserved.