Python绘制点上下具有不同值的错误栏

2024-06-28 10:56:28 发布

您现在位置:Python中文网/ 问答频道 /正文

警告:我对使用python很陌生。

我试图使用误差条来绘制数据,但是我的数据在误差条上下有不同的值,即2+.75,2-.32。

import numpy as np
import matplotlib.pyplot as plt

# example data
x = (1,2,3,4)
y = (1,2,3,4)

# example variable error bar values
yerr = 0.2

plt.figure()
plt.errorbar(x, y, yerr,"r^")
plt.show()

但我希望点上方的误差条是一个特定的值,如.17,点下方是一个特定的点,如.3 有人知道怎么做吗?

谢谢!


Tags: 数据importnumpy警告datamatplotlibexampleas
1条回答
网友
1楼 · 发布于 2024-06-28 10:56:28

像这样:

plt.errorbar(x, y, np.array([[0.3]*len(x), [0.17]*len(x)]), fmt='r^')

传递一个shape(2,n)数组,第一行有-errors,第二行有+errors。

enter image description here

(还要注意,您需要显式地将格式字符串r^传递给fmt参数)。

如果希望每个点上都有不同的错误条,可以在这个(2,n)数组中传递它们。通常按顺序为每个数据点都有一个-err和+err值对列表,在这种情况下,可以构建必要的数组作为此列表的转置:

yerr = np.array([(0.5,0.5), (0.3,0.17), (0.1, 0.3), (0.1,0.3)]).T
plt.errorbar(x, y, yerr, fmt='r^')
plt.show()

enter image description here

这在the docs中有描述(或多或少)。

相关问题 更多 >