Странный сюжет в питоне - PullRequest
1 голос
/ 04 октября 2019

просто хочу спросить, почему этот код не работает, я читаю файл с 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()

Вывод:

enter image description here

Это не имеет смысла. также данные имеют такой формат:

 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

...