使用Python在matplotlib中修剪错误栏

python matplotlib scipy plot

3392 观看

2回复

0 作者的声誉

我在Python中使用matplotlib绘制带有错误栏的行,如下所示:

plt.errorbar(xvalues, up_densities, yerr=ctl_sds, fmt='-^', lw=1.2, markersize=markersize,
         markeredgecolor=up_color, color=up_color, label="My label", clip_on=False)
plt.xticks(xvalues)

我使用“xticks”在x轴上设置了刻度。但是,xvalues中最后一个点的误差条(即xvalues [-1])被剪切在右侧 - 意味着只出现了一半的误差条。即使使用clip_on = False选项也是如此。我如何解决这个问题,以便错误条显示为完整,即使它们的右侧在技术上是在xvalues [-1]之外?

谢谢。

作者: user248237 的来源 发布者: 2010 年 5 月 15 日

回应 2


1

41193 作者的声誉

你是这个意思吗?您想重新定义情节的水平限制吗?

plt.errorbar(range(5), [3,2,4,5,1], yerr=[0.1,0.2,0.3,0.4,0.5])
ax = plt.gca()
ax.set_xlim([-0.5,4.5])

Matplotlib错误栏
(来源:stevetjoa.com

作者: Steve Tjoa 发布者: 2010 年 5 月 16 日

12

49729 作者的声誉

决定

在matplotlib中,大多数详细的控制需要通过艺术家来完成。我认为这应该做你想要的:

import matplotlib.pyplot as plt
from random import uniform as r

x = range(10)
e = plt.errorbar(x, [r(2,10) for i in x], [r(.1,1) for i in x], capsize=8, color='r')

for b in e[1]:
    b.set_clip_on(False)

plt.show()

在此输入图像描述

您遇到的问题是该clip_on关键字用于控制标记而不是错误栏。要控制错误栏,请plt.errorbar返回一个元组,其中第二个项是错误栏列表。所以在这里我浏览列表并为每个错误栏关闭剪辑。

作者: tom10 发布者: 2010 年 5 月 18 日
32x32