# python绘制折线图教程 import matplotlib.pyplot as plt # 引入csv模块 import csv path = r"C:\Users\dandan\PycharmProjects\test\csv_data.csv" # with open(path) as data: # reader = csv.reader(data) # rows = [row for row in reader] # # print(rows[0]) # 行读取 第一行(或者标题行) with open(path) as data2: reader2 = csv.reader(data2) column = [row[0] for row in reader2] print(column) # 读取第一列数据 with open(path) as data: reader = csv.reader(data) rows = [row[1] for row in reader] print(rows) # 读取第二列数据 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用中文标题 # x轴贺y轴放入数据 x_data = [column] y_data = [rows] # 制图 plt.plot(x_data, y_data, 'ro-', alpha=0.8, linewidth=1, label="图例内容") plt.legend(loc='upper left') plt.xlabel('日期') plt.xlabel('时长') plt.show() plt.savefig('折线图.jpg') 以上代码优化一下
时间: 2024-01-21 08:04:38 浏览: 247
好的,以下是你提供的代码的优化版本,其中包括以下改进:
- 使用pandas库读取csv文件,简化代码并提高读取速度
- 对数据进行类型转换,以避免绘图时出现的错误
- 将多个绘图参数放入一个字典中,使代码更具可读性和可维护性
- 将绘图保存到文件的代码放在plt.show()之后,以避免绘图保存失败
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取csv文件
df = pd.read_csv(r"C:\Users\dandan\PycharmProjects\test\csv_data.csv")
# 获取日期和时长列的数据
dates = df['日期'].values.astype(str)
durations = df['时长'].values.astype(float)
# 设置图表参数
plot_params = {'color': 'red', 'marker': 'o', 'linestyle': '-', 'linewidth': 1, 'alpha': 0.8, 'label': '图例内容'}
# 绘制折线图
plt.plot(dates, durations, **plot_params)
plt.legend(loc='upper left')
plt.xlabel('日期')
plt.ylabel('时长')
plt.title('折线图')
plt.show()
# 将绘图保存到文件
plt.savefig('折线图.jpg')
```
希望这个优化版本对你有帮助!
阅读全文
相关推荐
















