gpt4 book ai didi

python - 使用 errorbar 为单点绘制不对称误差条

转载 作者:太空狗 更新时间:2023-10-29 22:21:57 51 4
gpt4 key购买 nike

目标:使用 errorbar 为单个点绘制非对称 x 误差条。我想显示数据集的四分位数间距 (IQR)。

代码:

import numpy as np
import matplotlib.pyplot as plt

y = 1.0
data = np.random.rand(100)

median = np.median(data)
upper_quartile = np.percentile(data, 75)
lower_quartile = np.percentile(data, 25)
IQR = upper_quartile - lower_quartile

plt.errorbar(median, y, xerr=[lower_quartile ,upper_quartile], fmt='k--')

plt.savefig('IQR.eps')
plt.show()

错误:

Traceback (most recent call last):
File "IQR.py", line 15, in <module>
plt.errorbar(median, y, xerr=[0.5,0.75], fmt='k--')
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2251, in errorbar
ret = ax.errorbar(x, y, yerr, xerr, fmt, ecolor, elinewidth, capsize, barsabove, lolims, uplims, xlolims, xuplims, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 5327, in errorbar
in cbook.safezip(x,xerr)]
File "/usr/lib/pymodules/python2.7/matplotlib/cbook.py", line 1294, in safezip
raise ValueError(_safezip_msg % (Nx, i+1, len(arg)))
ValueError: In safezip, len(args[0])=1 but len(args[1])=2

我的问题是我无法为单个点创建不对称误差线,其中该点将代表平均值,误差线的上限和下限将是上四分位数和下四分位数。

最佳答案

我通常为此使用 vlineshlines(我认为大写只是让人分心):

 plt.hlines( y, median-lower_quartile, median+upper_quartile)
plt.plot(median, y, 'o')

Simple plot

如果你还想用errorbar,可以试试

plt.errorbar(median, y, xerr=np.array([[lower_quartile ,upper_quartile]]).T, 
fmt='ko')

with errorbar

请注意,我真的不知道您如何在这里定义四分位数,因此您可能需要确保输入的数字正确!!!

关于python - 使用 errorbar 为单点绘制不对称误差条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31812469/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com