2016-09-21 2 views
-1

Я пытаюсь построить в errorbar:ValueError: слишком много значений для распаковки Matplotlib errorbar

plt.errorbar(np.array(x_axis), np.array(y_axis), yerr=(np.array(y_bot), np.array(y_top)), linestyle='None', marker='^') 

Но выдает ошибку:

plt.errorbar(np.array(x_axis), np.array(y_axis), yerr=(np.array(y_bot), np.array(y_top)), linestyle='None', marker='^') 


File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/pyplot.py", line 2747, in errorbar 
    errorevery=errorevery, capthick=capthick, **kwargs) 
    File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/axes/_axes.py", line 2792, in errorbar 
    barcols.append(self.vlines(xo, lo, uo, **lines_kw)) 
    File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/axes/_axes.py", line 1067, in vlines 
    for thisx, (thisymin, thisymax) in zip(x, Y)] 
ValueError: too many values to unpack 

X_Axis, y_axis, y_bot, x_bot являются 1D массив длины 4.

+1

ваш код отлично подходит для меня, возможно, вам стоит дважды проверить форму ваших массивов. Кстати, если ваши массивы уже массивы numpy, почему вы пытаетесь снова преобразовать их в массив numpy? –

+0

Вы уверены, что 'y_axis',' y_bot' и 'y_top' имеют одинаковую длину? – Daneel

+0

Я отредактировал вопрос – blackmamba

ответ

2

следующие прекрасные произведения для меня:

import numpy as np 
import matplotlib.pyplot as plt 
x_axis = range(4) 
y_axis = range(4) 
y_bot = range(4) 
y_top = range(4) 
plt.errorbar(np.array(x_axis), np.array(y_axis), yerr=(np.array(y_bot), np.array(y_top)), linestyle='None', marker='^') 

Вы хотите проверить свои массивы