2016-03-09 7 views
3

Я пытаюсь построить errorbar с массивом средних значений и стандартного отклонения по питону, как показано ниже:TypeError: errorbar() есть несколько значений для ключевого слова аргумента «yerr»

p11 = np.genfromtxt(filn1,delimiter="",usecols=0,dtype=None) 
p12 = np.genfromtxt(filn3,delimiter="",usecols=0,dtype=None) 
s11 = np.genfromtxt(filn2,delimiter="",usecols=0,dtype=None) 
s12 = np.genfromtxt(filn4,delimiter="",usecols=0,dtype=None) 
F1= np.genfromtxt(filn6,delimiter="",usecols=0,dtype=None) 
F2= np.genfromtxt(filn7,delimiter="",usecols=0,dtype=None) 
yerr1 =0.5*s11 
yerr2 = 0.5*s12 
plt.errorbar(F1,p11,'r',yerr=yerr1,lw=3,label='Summer') 
plt.errorbar(F2,p12,'b',yerr=yerr2,lw=3,label='Winter') 

Здесь p11 и p12 являются средним массивы значений и s11 и s12 являются соответствующими стандартными матрицами отклонения. Этот код работает хорошо, но теперь это привело:

TypeError: errorbar() got multiple values for keyword argument 'yerr' 

Любая идея или намеки действительно были бы оценены. Isaac

+1

Для чего нужны значения 'r' и' b'? –

+0

@ DanielRoseman 'r' и 'b' предназначены для цвета. – Isaac

+1

Ну, matplotlib.pyplot.errorbar не имеет цвета в качестве третьего позиционного аргумента: см. [Docs] (http://matplotlib.org/api/pyplot_api.html?highlight=errorbar#matplotlib.pyplot.errorbar) , –

ответ

1

Я думаю, что третьим параметром для plt.errorbar должен быть yerr, но в вашем случае вы используете формат. Попробуйте указать формат с помощью «fmt».

plt.errorbar(F1,p11,fmt='r',yerr=yerr1,lw=3,label='Summer') 
 
plt.errorbar(F2,p12,fmt='b',yerr=yerr2,lw=3,label='Winter')

Мой совет всегда использовать имена параметров, так что легко читать код и отладки.

 Смежные вопросы

  • Нет связанных вопросов^_^