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

8 matplotlib python-3.x 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)
Run Code Online (Sandbox Code Playgroud)

代码生成下图。我玩过solid_capstylekwarg。是否有一个特定的 kwarg 可以做我想做的事情? 误差图

作为我想要的示例,下图:

示例解决方案

如果相关,我正在使用 matplotlib 2.2.2

Dav*_*idG 5

您要查找的参数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()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明