我有一个包含20列的csv文件。现在,我可以使用此代码绘制图表,其中第一列为x轴,其余为y轴。import numpy as npimport matplotlib.pyplot as pltdata = 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列,并将它们绘制在单个窗口中。请帮忙。
3 回答
米脂
TA贡献1836条经验 获得超3个赞
您可以尝试使用pandas,它使用matplotlib进行绘图。例如,如果您有这样的CSV:
a,b,c
20,2,5
40,6,8
60,4,9
您可以绘制列b,c如下所示:
import pandas as pd
df = 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轴。有关更多详细信息,请参见打印文档。
添加回答
举报
0/150
提交
取消