gpt4 book ai didi

python - 使用 pylab 绘制文件中的特定列和行

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:49 24 4
gpt4 key购买 nike

我有一个数据文件,我想在其中绘制第二列的特定行。我的脚本如下:

f=open('datafile','r')
lines1=f.readlines()[4:24]#since I want the values from the 4th to the 23rd line
lines2=f.readlines()[33:54]#I want the values from the 33rd to the 53rd line
f.close()

x1=[]
y1=[]

for line in lines1:
p=line.split()
x1.append(float(p[1]))#the values are in the second column
for line in line2:
p=line.split()
y1.append(float(p[1]))

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

plt.plot(xv,yv)

但是,最后我有一个错误提示“x 和 y 必须具有相同的第一维”。我对 python 不是很有经验,有人可以建议我任何替代方案或让我知道我做错了什么吗?我怎样才能用不同的方式只提取那些行?

我想绘制 x= 第 2 列从第 4 行到第 25 行与 y=第 2 列从第 33 行到第 54 行的对比。

非常感谢您。

问候,

吉奥

最佳答案

你做错的是两次调用 readlines

A file object表现得像 iterator .调用 readlines耗尽它。第二次调用将返回一个空列表。

您可以获得行列表一次,然后使用它:

lines = f.readlines()
lines1 = lines[4:24]
lines2 = lines[33:54]

不过,看起来列表的长度会相差 1,我猜你需要更正它。

另请注意,您无需将列表转换为 numpy 数组即可绘制它们。

关于python - 使用 pylab 绘制文件中的特定列和行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13747860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com