matplotlib errorbar 仅绘制正误差棒简单方法

昨日,Python草堂群的一位网友问了一个问题:

如下图,怎样去掉误差棒在条形图的里面的那一部分,即仅绘制正误差棒,不绘制负误差棒。
在这里插入图片描述
matplotlib 的 Axes 对象有一个 errorbar 方法,

Axes.errorbar(self, x, y, 
			yerr=None, xerr=None, 
			fmt='', ecolor=None, 
			elinewidth=None, 
			capsize=None, 
			barsabove=False, 
			lolims=False, uplims=False, 
			xlolims=False, xuplims=False, 
			errorevery=1, capthick=None, *, 
			data=None, **kwargs)

首先想到的是设置 lolims参数,但绘制的图形如下图:
在这里插入图片描述
误差棒带有一个箭头,这不是他想要的。

后来,琢磨了一下 errorbar函数,其实有一个简单的方法可以实现:

在这里插入图片描述
示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 2, 1, 2, 1]

y_errormin = [0, 0, 0, 0, 0]
y_errormax = [0.2, 0.4, 0.6, 0.4, 0.2]

x_error = 0.5
y_error = [y_errormin, y_errormax]

plt.bar(x, y)
plt.errorbar(x, y,
			yerr=y_error,
            capsize = 8,
			fmt='o', color="r") 

plt.show()

有任何问题,欢迎到 Python 草堂QQ群: 457079928 讨论交流,共同进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python草堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值