如何在python(matplotlib)中打印时自动计算列数和行数

2024-09-27 19:25:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用matplotlib打印时,每一行的列数和行数都不同,因此必须编辑脚本。下面我已经发布了脚本,其中有5列。但是如果我有一个文件,它有7列,并且我想用第1列和第7列进行比较,那么我必须再次编辑我的代码,例如:c0[7],c7=float(elements[7]),c7.append(c7),等等。有没有一种方法可以自动化它?因此,我不必每次有不同数量的行和列时都不断更改代码。谢谢

作为输入参数,您可以拥有数据文件并提供要绘制的列(例如,第1列和第6列)。脚本将自行处理列数。你知道吗

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
infile = open("ewcd.txt","r")
data = infile.readlines()


C0=[]
C1=[]
C2=[]
C3=[]
C4=[]

for line in data:
elements = line.split()
try:
    c0=float(elements[0])
    c1 = float(elements[1])
    c2=float(elements[2])
    c3=float(elements[3])
    c4=float(elements[4])

    C0.append(c0)
    C1.append(c1)
    C2.append(c2)
    C3.append(c3)   
    C4.append(c4)
except IndexError:
    pass


fig, ax = plt.subplots()
plt.yscale('log')
plt.tick_params(axis='both', which='major', labelsize=13)
plt.plot(C0,C1,'b-')
plt.plot(C0,C2,'g-')

Tags: 代码import脚本编辑matplotlibpltelementsfloat

热门问题