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

时间:2018-08-31 11:56:52

标签: python-3.x matplotlib errorbar

我可以使用以下代码生成误差线图。由代码生成的图形显示了垂直线,这些垂直线表示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 :(得分:1)

您要查找的参数是ax.errorbar()中的capsize=。默认值为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