matplotlib绘制所有列的csv文件

我有一个包含20列的csv文件。现在,我可以使用此代码绘制图表,其中第一列为x轴,其余为y轴。


import numpy as np

import matplotlib.pyplot as plt

data = np.genfromtxt('cs.csv',delimiter=',', dtype = float)


a = [row[0] for row in data]

b = [row[1] for row in data]

c = [row[2] for row in data]


fig = plt.figure()

ax = fig.add_subplot(111, axisbg = 'w')

ax.plot(a,b,'g',lw=1.3)

ax.plot(a,c,'r',lw=1.3)

plt.show()

问题是我必须使用定义所有列


a = [row [0]用于数据行]


这段代码对所有列一一对应。我实际上想拥有某种方法,以便它可以将第一列作为x轴常量绘制所有19列,并将它们绘制在单个窗口中。请帮忙。


肥皂起泡泡
浏览 274回答 3
3回答

ITMISS

这个怎么样:[plt.plot(data[0],data[x]) for x in range(1,len(data[:,0]))]

米脂

您可以尝试使用pandas,它使用matplotlib进行绘图。例如,如果您有这样的CSV:a,b,c20,2,540,6,860,4,9您可以绘制列b,c如下所示:import pandas as pddf = pd.DataFrame.from_csv('test.csv', parse_dates=False)df.b.plot(color='g',lw=1.3)df.c.plot(color='r',lw=1.3)默认情况下,第一列用作索引和x轴。有关更多详细信息,请参见打印文档。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python