如何解决如何在子图中将误差线与不同散点数据分开
我需要帮助,在任何地方都找不到解决方案。我有9个子图,有些子图有多个数据文件,但是我无法在一个子图中分离三种不同数据的错误栏:
fourList=['Carina.fits','Sextans.fits','UrsaMinor.fits']
kcolors=['crimson','darkslateblue','mediumslateblue']
kmarkers=['*','*','*']
kecolor=['crimson','mediumslateblue']
for l in range(0,len(fourList)):
k=fits.open(fourList[l])
kfeh = k[1].data['Fe_H_1']
kmgfe = k[1].data['Mg_Fe']
kcfe = k[1].data['C_Fe']
kofe = k[1].data['O_Fe']
knfe = k[1].data['N_Fe']
kmnfe = k[1].data['Mn_Fe']
kalfe = k[1].data['Al_Fe']
#Calculate [(C+N)/Fe]
kcnfe = np.log10(10**(kcfe+kfeh+8.39) + 10**(knfe+kfeh+7.78)) - np.log10(10.**8.39 + 10.**7.78) - kfeh
kcn = kcfe - knfe
# Calculate [(MG)/MN]
kmgmn = kmgfe - kmnfe
kfeherr = k[1].data['FE_H_ERR_1']
kmgfeerr = k[1].data['MG_FE_ERR']
kalfeerr = k[1].data['Al_FE_ERR']
kcfeerr = k[1].data['C_FE_ERR']
knfeerr = k[1].data['N_FE_ERR']
kmnfeerr=k[1].data['MN_FE_ERR']
kcnfeerr = np.log10(10**(kcfeerr+kfeherr+8.39) + 10**(knfeerr+kfeherr+7.78)) - np.log10(10.**8.39 + 10.**7.78) - kfeherr
kmask = (kfeh>-9999.99) & (kalfe>-9999.99) & (kmgfe>-9999.99) & (kmnfe>-9999.99)
kmask_errors = (kfeherr > -999.99) & (kalfeerr > -999.99) & (kmgfeerr > -999.99) & (kmnfeerr > -999.99) & (kcfeerr>-999.99) & (knfeerr>-999.99)
kfeherr = kfeherr[kmask_errors]
kfeh_ave = np.mean(kfeherr)
kalfeerr = kalfeerr[kmask_errors]
kalfe_ave = np.mean(kalfeerr)
kcnfeerr = kcnfeerr[kmask_errors]
kcnfe_ave = np.mean(kcnfeerr)
axes[1][1].scatter(kfeh,kcnfe,c=kcolors[l],marker='*',alpha=0.8,s=400,lw=0)
axes[1][1].errorbar(0.3,-1,xerr=kfeh_ave,yerr=kcnfe_ave,ecolor=kecolor[l],capsize=5,lw=2,mew=2,ls='none',markersize='50')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。