python - matplotlib 绘制所有列的 csv 文件

标签 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 = 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] for row in data]

此代码一一对应所有列。我实际上想要有一些方法,以便它可以绘制所有 19 列,将第一列作为 x 轴常数,并将它们绘制在单个窗口中。请提供任何帮助。

最佳答案

您可以尝试使用 pandas ,它使用 matplotlib 进行绘图。例如,如果您有这样的 CSV:

a,b,c
20,2,5
40,6,8
60,4,9

您可以像这样绘制列 bc:

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 轴。 请参阅plotting documentation了解更多详情。

关于python - matplotlib 绘制所有列的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17084851/

相关文章:

python - 具有一对一关系的 SQLAlchemy 聚合

python - 如何在没有numpy的情况下使用范围填充矩阵?

计算数组偏移量的 Pythonic 方法

python - 实时绘制 Pandas 数据框

python - 如何使用 pylab 绘制没有边框的数据

python - Fastapi 与草莓返回错误 "' dict' 对象没有属性 'name' ”

python - 在 Pandas 数据框和平均数组中按列分组

python - 如何使用 random.RandomState

python - Matplotlib 无法在 macOS 中运行。显示错误。我尝试重新安装所有内容,但仍然无法正常工作

python - Django Tastypie 创建 API 接受 POST 数据但不在数据库中创建任何条目