我试图用python的平均值和标准差数组绘制errorbar,如下所示:
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'
任何想法或暗示都会非常感激。
艾萨克
最佳答案
我认为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')
我的建议是始终使用参数名,因此很容易阅读代码和进行调试。