如何使用 matplotlib 在错误条形图的提示处显示水平线?
How to show horizontal lines at tips of error bar plot using matplotlib?
我可以使用下面的代码生成误差条图。代码生成的图表显示了代表 y
中的错误的垂直线。我希望在这些错误的提示处有水平线 ("error bars"),但我不确定该怎么做。
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 可以做我想做的事情?
作为我想要的示例,下图:
如果相关,我使用的是 matplotlib 2.2.2
您要查找的参数是 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()
我可以使用下面的代码生成误差条图。代码生成的图表显示了代表 y
中的错误的垂直线。我希望在这些错误的提示处有水平线 ("error bars"),但我不确定该怎么做。
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 可以做我想做的事情?
作为我想要的示例,下图:
如果相关,我使用的是 matplotlib 2.2.2
您要查找的参数是 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()