写出python代码。可以实现通过命令把CSV文件的所有列名生成曲线图里,曲线图在一张画布里,同时显示所有列。生成的CSV文件自动命名并保存到当前文件夹。 1.CSV文件有80个标题,3000行。第一列为横轴坐标。把80条线一起显示出来。 2.可以根据标题生成所有列的曲线图。每一列曲线图的颜色都不同。
时间: 2023-07-15 16:13:37 浏览: 54
以下是Python代码实现:
```python
import matplotlib.pyplot as plt
import pandas as pd
import os
def plot_all_columns(csv_file):
# 读取CSV文件
data = pd.read_csv(csv_file)
# 取出所有列名,第一列为横轴坐标
columns = data.columns[1:]
# 创建画布
fig, ax = plt.subplots()
# 绘制所有曲线图
for i, col in enumerate(columns):
ax.plot(data.iloc[:,0], data.iloc[:,i+1], label=col)
# 添加图例
ax.legend()
# 保存图片到当前文件夹,文件名为CSV文件名加.png
csv_filename = os.path.basename(csv_file).split('.')[0]
plt.savefig(f'{csv_filename}.png')
# 显示图像
plt.show()
# 测试代码
csv_file = 'test.csv'
plot_all_columns(csv_file)
```
其中,`plot_all_columns`函数用于绘制所有曲线图,并保存到当前文件夹。函数接收一个CSV文件路径作为参数。
首先,通过`pd.read_csv`读取CSV文件的数据,然后使用`data.columns[1:]`取出所有列名(第一列为横轴坐标)。
接着,创建画布并使用`ax.plot`函数绘制所有曲线图。函数的第一个参数是横坐标,第二个参数是纵坐标,第三个参数是曲线图的标签(即列名)。使用`enumerate`函数可以同时获取列名和列的索引,以便在绘制时使用。
最后,添加图例并保存图片到当前文件夹,文件名为CSV文件名加`.png`后缀。最后调用`plt.show()`函数显示图像。
测试代码使用了一个名为`test.csv`的CSV文件。你可以将函数中的`csv_file`变量替换为你自己的CSV文件路径。