我试图使用matplotlib.errobar函数绘制错误条,只显示了较低的错误限制。如果我使用“uplims=True”,我会得到较低的错误限制,但现在用一个箭头作为错误上限。如何将上限改回水平线?
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
x = np.arange(10)
y = 2.5 *x
yerr = np.linspace(0.05, 2, 10)
fig1,ax1=plt.subplots()
#Here error capstyle is a horizontal line
plt.errorbar(x, y + 6, yerr=yerr,capsize=4, label='both limits (default)')
#Error capstyle suddenly changes to arrow
plt.errorbar(x, y + 2, yerr=yerr, uplims=True, label='uplims=True')
plt.show()
2条答案
按热度按时间cidc1ykv1#
我想我明白了些什么。
yerr可以是列表的列表:
不会将帽样式更改为箭头。然后,使用一个零列表作为上限,并使用一个误差长度列表作为下限,将仅在一侧给予误差条。
ruyhziif2#
另一种方法是使用Capline。这会将箭头更改为更正常的误差条。如果你替换了
与
这将在您的数据下面创建错误条。
elinewidth
、markeredgewidth
和set_markersize
只是为了使误差条看起来更漂亮,根据需要更改这些值。请注意,您需要设置在每个
plt.errorbar
之后,您不能使用此设置只设置一次。