Невозможно создать график ошибки [Ошибка значения: слишком много значений для распаковки (ожидайте 1)] - PullRequest
0 голосов
/ 23 января 2020

Код:

    E,=plt.plot(bl,semullts_mean,color='b',marker='o',label='Sequential')
    F,=plt.plot(bl,semulltr_mean,color='c',marker='o',label='Random')
    legend3 = plt.legend(handles=[E,F]) #(CORRECT)
     K,=pylab.errorbar(bl,semullts_mean,yerr=semulltr_std,ecolor='m',color='g',marker='o',label='Sequential')
  L,=pylab.errorbar(x=bl,y=semulltr_mean,yerr=semulltr_std,ecolor='y',color='g',marker='o',label='Random') #(ERROR)

Вот журнал ошибок, показанный в моем коде

ValueError                                Traceback (most recent call last)
<ipython-input-8-21aefb184d1d> in <module>()
    190 #semulbwr_std=np.reshape(semulbwr_std, (semulbwr_std.shape[0], ))
    191 
--> 192


    K,=pylab.errorbar(bl,semullts_mean,yerr=semulltr_std,ecolor='m',color='g',marker='o',label='Sequential')
        193 
    L,=pylab.errorbar(x=bl,y=semulltr_mean,yerr=semulltr_std,ecolor='y',color='g',marker='o',label='Random')
        194 legend5 = pylab.legend(handles=[K,L])

    #(ERROR LOGS)

    ValueError: too many values to unpack (expected 1)

Так что вот оно. Я не знаю, почему я не могу создать панель ошибок с переменными, которые доступны для создания графика. Первые две строки верны и могут генерировать график. Но когда я использую ту же переменную для генерации ошибок. Это постоянно публиковать эту ошибку. И я не нашел хорошего способа решить эту проблему

Я использую matplotlib. Bl, semulltr_mean и semulltr_std et c являются списками с 11 элементами. Например, [1,2,3,4,5,6,7,8,9,10,11]. Все они с одинаковым количеством элементов. Я не знаю, в чем причина этой проблемы

1 Ответ

0 голосов
/ 24 января 2020

удаление комы после K и l

K,=pylab.errorbar(...
 ^
 |

должно быть

K = pylab.errorbar(...

Согласно документация , errorbar() возвращает один Контейнерный объект, который содержит в себе 3 объекта (линию графика, линии шапки и линии). Поэтому вы не можете распаковать это в кортеж из 1 элемента. Либо вы храните контейнер в одной переменной, либо распаковываете содержимое контейнера в 3 переменной.

Это тоже работает:

line,caplines,barlines = pylab.errorbar(...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...