如何在python中绘制时自动化列数和行数(matplotlib)

时间:2015-02-01 14:20:30

标签: python matplotlib plot

在使用matplotlib绘图时,每个我都有不同数量的列和行,我必须编辑我的脚本。下面我发布了有5列的脚本。但是如果我有7列的文件并且我想在第7列中绘制第1列,那么我必须再次编辑我的代码,例如: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-')

0 个答案:

没有答案