根据CSV文件的数据,画折线图。

首先准备数据如下图:

 代码如下


import matplotlib.pyplot as plt
import pandas as pd
import matplotlib.dates as mdate
plt.style.use("seaborn-darkgrid")

# 读取数据
score= pd.read_csv("score.csv")
print(score.head())

# 设置中文字体为黑体字
plt.rcParams['font.sans-serif'] = ['SimHei']

# 第一根折线图
fig,ty1 = plt.subplots(figsize=(12,6))
# plt.plot(score["Mathematics"])

# # 第二根折线图
# plt.plot(score["Geography"])

# X周日期格式
ty1 = plt.gca() #表明设置图片的各个轴,plt.gcf()表示图片本身
ty1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))  # 横坐标标签显示的日期格式
# plt.xticks(pd.date_range('2021-10-11','2021-10-18',freq='1d')) #横坐标日期范围及间隔
plt.xticks
# 第二个Y轴标记
ty2 = ty1.twinx()
ty1.plot(score["Mathematics"])
ty2.plot(score["Geography"],"r")

# 添加标题和给Y轴打上标题
ty1.set_ylabel("数学成绩", fontsize=12)  ## Y轴标题
ty2.set_ylabel("地理成绩", fontsize=12)  ## Y轴标题
plt.title("成绩折线图", fontsize=18) ## 标题

# 添加图例
ty1.legend(['数学分数'],loc=2,fontsize=12)
ty2.legend(['地理分数'],loc=2,bbox_to_anchor=(0,0.9),fontsize=12)

# 去掉网格线
ty1.grid(False)
ty2.grid(False)

# X、Y轴字体大小
ty1.tick_params(axis='both', which='major', labelsize=10)
ty2.tick_params(axis='both', which='major', labelsize=10)

# 显示图表
plt.show()

结果:

X轴的时间跟CSV文件的日期不一致,原来是matplotlib这个包的版本不能用最新的,我卸载重新装3.4.1的就可以了

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐