首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在matplotlib和光谱分析数据方面有问题

在matplotlib和光谱分析数据方面有问题
EN

Stack Overflow用户
提问于 2017-03-26 15:33:51
回答 1查看 124关注 0票数 1

我正在尝试使用以下代码从一个星表绘制一个.dat文件

代码语言:javascript
复制
    try:
    import pyfits
    noPyfits=False
except:
    noPyfits=True

import matplotlib.pyplot as plt
import numpy as np


f2 = open('/home/mcditoos/Desktop/Astrophysics_programs/Data_LAFT/ESPECTROS/165401.dat', 'r')

lines = f2.readlines()
f2.close()
x1 = []
y1 = []


for line in lines:
    p = line.split()
    x1.append(float(p[0]))
    y1.append(float(p[1]))

xv = np.array(x1)
yv = np.array(y1)



plt.plot(xv, yv)

plt.show()

然而,我得到了以下错误:

代码语言:javascript
复制
x1.append(float(p[0]))

IndexError: list index out of range

我还想知道有没有办法使它成为一个程序,能够打开下一个给定输入的.dat文件

EN

回答 1

Stack Overflow用户

发布于 2017-04-10 22:19:59

我可能不完全理解你的问题,但你为什么不使用

代码语言:javascript
复制
X, Y = numpy.genfromtxt('yourfile', dtype='str')
X = X.astype('float')
Y = Y.astype('float')

如果您的文件中有2列,您可以使用以下命令来转置您的表

代码语言:javascript
复制
X, Y = numpy.genfromtxt('yourfile', dtype='str').T
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43026250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档