Python 所有列的matplotlib打印csv文件

Python 所有列的matplotlib打印csv文件,python,numpy,matplotlib,Python,Numpy,Matplotlib,我有一个包含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 =

我有一个包含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=[数据中的行的行[0]

此代码将逐个显示所有列。我想要的是有一些方法,这样它可以以第一列为x轴常数绘制所有19列,并在单个窗口中绘制它们。请帮忙

您可以尝试使用,它使用matplotlib进行打印。例如,如果您有如下CSV:

a,b,c
20,2,5
40,6,8
60,4,9
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)
import pandas as pd
df = pd.read_csv('name_of_file.csv', index_col=0)
df.plot(x=df.index, y=df.columns)
可以按如下方式绘制b列和c列:

a,b,c
20,2,5
40,6,8
60,4,9
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)
import pandas as pd
df = pd.read_csv('name_of_file.csv', index_col=0)
df.plot(x=df.index, y=df.columns)
默认情况下,第一列用作索引和x轴。 有关详细信息,请参阅。

您可以尝试使用,它使用matplotlib进行打印。例如,如果您有如下CSV:

a,b,c
20,2,5
40,6,8
60,4,9
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)
import pandas as pd
df = pd.read_csv('name_of_file.csv', index_col=0)
df.plot(x=df.index, y=df.columns)
可以按如下方式绘制b列和c列:

a,b,c
20,2,5
40,6,8
60,4,9
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)
import pandas as pd
df = pd.read_csv('name_of_file.csv', index_col=0)
df.plot(x=df.index, y=df.columns)
默认情况下,第一列用作索引和x轴。 有关更多详细信息,请参阅。

这个怎么样:

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

[plt.plot(data[0],data[x]) for x in range(1,len(data[:,0]))]

正如马蒂·约翰所说,熊猫是前进的方向,你可以更轻松地完成你的要求。假设您的CSV与他发布的表单类似,您可以将除第一列之外的所有列与第一列进行对比,如下所示:

a,b,c
20,2,5
40,6,8
60,4,9
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)
import pandas as pd
df = pd.read_csv('name_of_file.csv', index_col=0)
df.plot(x=df.index, y=df.columns)
使用Matti John提供的CSV,即

a,b,c
20,2,5
40,6,8
60,4,9
这是上面代码的输出

正如马蒂·约翰所说,熊猫是前进的方向,你可以更轻松地完成你的要求。假设您的CSV与他发布的表单类似,您可以将除第一列之外的所有列与第一列进行对比,如下所示:

a,b,c
20,2,5
40,6,8
60,4,9
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)
import pandas as pd
df = pd.read_csv('name_of_file.csv', index_col=0)
df.plot(x=df.index, y=df.columns)
使用Matti John提供的CSV,即

a,b,c
20,2,5
40,6,8
60,4,9
这是上面代码的输出

您好,您能告诉我a在range1中代表什么吗,lena[:,0]]您好,我是打字错误。应该是数据。现在更新了。嗨,你能告诉我a在range1中代表什么吗,lena[:,0]]嗨,我是打字错误。应该是数据。现在更新。我和熊猫有问题。AttributeError:“module”对象没有属性“DataFrame”。这是由于安装或不同的版本。有什么想法吗?据我所知,数据框一直是熊猫的一部分。你是用pip安装的吗?熊猫有问题。AttributeError:“module”对象没有属性“DataFrame”。这是由于安装或不同的版本。有什么想法吗?据我所知,数据框一直是熊猫的一部分。你是用pip安装的吗?