Как исправить x и y должны иметь одинаковое первое измерение, но иметь формы (5,) и (2, 5)? - PullRequest
0 голосов
/ 07 апреля 2020

Я строю несколько наборов данных в виде графика с осью X, которая представляет масштаб, а ось Y представляет среднее значение и отклонение. Однако происходит ошибка ValueError: x и y должны иметь одинаковое первое измерение, но иметь формы (5,) и (2, 5)

all_b = ...
means = np.mean(all_b, 0)
se = np.std(all_b, 0)/np.sqrt(all_b.shape[0])
np.savetxt('control.dat', (means,see)) # probably because of this format (means,see)causes the below plt.errorbar plotting yerr ValueError.

...# totally six data sets 

scales = range(1, 6, 1) # 5 scales

fig, ax = plt.subplots()

data1 = pl.loadtxt("control.dat")
data2 =... 
.
.
.
data6 =... 

ax.plot(scales, data1, color = "blue")
ax.plot(scales, data2, color = "red")
ax.plot(scales, data3, color = "green")
ax.plot(scales, data4, color = "yellow")
ax.plot(scales, data5, color = "pink")
ax.plot(scales, data6, color = "purple")

for p in range(len(all_b)):
    plt.errorbar(x=range(1,((all_b[p].shape[1])+1)), y=means[p], yerr=se[p], fmt='.', linestyle=':', 
    label=labels[p])  #occurs the ValueError because of I try to plot the yerr to the curves by using this line

plt.xlabel('Scale')
plt.ylabel('Mean_b')
plt.legend(loc='best')
plt.show()

Пожалуйста, покажите мне, как исправить ошибку ValueError, если вы знаете!

...