只是想问一下为什么这个代码不起作用,我正在阅读一个有4列的文件,其想法是将最后3列与1列进行对比。但是有一件不舒服的事我不明白,你知道怎么解决吗
import numpy as np
import cmath as math
import matplotlib.pyplot as plt
dataplanck1 = 'COM_PowerSpect_CMB-TT-full_R3.01.txt'
dataplanck2 = 'COM_PowerSpect_CMB-EE-full_R3.01.txt'
dataplanck3 = 'COM_PowerSpect_CMB-TE-full_R3.01.txt'
datawmap1 = 'wmap_tt_spectrum_9yr_v5.txt'
datawmap2 = 'wmap_ee_spectrum_9yr_v5.txt'
datawmap3 = 'wmap_te_spectrum_9yr_v5.txt'
multipole = []
dls = []
dlse1 = []
dlse2 = []
with open(dataplanck1) as fobj:
for line in fobj:
row = line.split()
multipole.append(row[0])
dls.append(row[1])
dlse1.append(row[2])
dlse2.append(row[3])
plt.plot(multipole, dls, label='Synthetic masked ')
plt.show()
输出为:
那没道理。数据的格式如下:
2.00000000e+00 2.25895000e+02 1.32369000e+02 5.33062000e+02
3.00000000e+00 9.36920000e+02 4.50471000e+02 1.21230800e+03
4.00000000e+00 6.92238000e+02 2.94111000e+02 6.66469000e+02
5.00000000e+00 1.50170500e+03 5.74432000e+02 1.15580400e+03
6.00000000e+00 5.57611000e+02 2.01242000e+02 3.75763000e+02
7.00000000e+00 1.15264300e+03 3.81584000e+02 6.70824000e+02
8.00000000e+00 6.15846000e+02 1.91997000e+02 3.23446000e+02
9.00000000e+00 6.97821000e+02 2.14638000e+02 3.49581000e+02
1.00000000e+01 8.03658000e+02 2.32846000e+02 3.67945000e+02
1.10000000e+01 8.69580000e+02 2.40260000e+02 3.71043000e+02
1.20000000e+01 7.64074000e+02 2.04951000e+02 3.10576000e+02
1.30000000e+01 5.99003000e+02 1.58593000e+02 2.35581000e+02
提前谢谢
plt
是module
,因此不能将其作为函数调用如果要使用
matplotlib.pyplot
绘制绘图,应调用函数plot
,然后使用show
函数查看绘图在这种情况下,以下几行将为您绘制散点图:
相关问题 更多 >
编程相关推荐