具有不同x和y误差的Pyplot误差条

问题描述 投票:0回答:1

我正在尝试创建具有不同的x和y错误的errorbar图。假设我有以下数据:

x = [[item%20 for item in reversed(range(50,55))] for _ in range(13)]
y = [[item%20 for item in reversed(range(20,25))] for _ in range(13)]


fig, ax = plt.subplots()
ax.set_xscale('log')
for i in range(len(x)):
    plt.errorbar(x=[x[0][i]], y=[y[0][i]], xerr=x[i][1:3], yerr=y[i][1:3], ls='None', label='B{}D{}'.format(x[i][3],y[i][4]))
plt.legend(prop={'size': 6})

现在这将产生一个错误:

ValueError:错误必须为[标量| N,Nx1或2xN类数组]

但是,我不理解该错误,因为我的错误的形状为(2,N = 1),就像ma数据为N = 1。当我转置数据并对其进行绘制时,它工作得很好,但是我想使用不同的labelm标记和颜色来绘制每个数据点。对我来说,一次绘制所有错误栏并更改颜色,标记并随后分配标签也是可以的,但是我不知道该怎么做。但是,我相信我正在犯一个简单的错误,这将使该方法变得不必要。

非常感谢您的帮助:)

python python-3.x matplotlib
1个回答
0
投票

如果您一次绘制一个点,则错误的形状应为代码中的(2,1),而不是(2,)。

此外,我认为您获取x,y值的方式有误。

© www.soinside.com 2019 - 2024. All rights reserved.