import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文问题
plt.rcParams['axes.unicode\_minus'] = False # 解决负号显示问题
第一步:数据读取
df = pd.read\_csv('changsha.csv')
data = df[-15:]
print(data)
第二步:数据处理(由于我们知道文本内容,不存在脏数据,故忽略数据清理步骤)
data['最高气温'] = data['气温'].str.split('/', expand=True)[0]
data['最低气温'] = data['气温'].str.split('/', expand=True)[1]
data['最高气温'] = data['最高气温'].map(lambda x: int(x.replace('℃', '')))
data['最低气温'] = data['最低气温'].map(lambda x: int(x.replace('℃', '')))
data['日期'] = data['日期'].map(lambda x: "{}年{}月{}日".format(str(x)[:4], str(x)[4:6], str(x)[-2:]))
dates = data['日期']
highs = data['最高气温']
lows = data['最低气温']
设置画布大小及比例
fig = plt.figure(dpi=128, figsize=(10, 6))
设置最高温最低温线条颜色及宽度等信息
L1, = plt.plot(dates, lows, label='最低气温')
L2, = plt.plot(dates, highs, label='最高气温')
plt.legend(handles=[L1, L2], labels=['最低气温', '最高气温'], loc='best') # 添加图例
设置图形格式
plt.title('近15天的天气情况', fontsize=25) # 字体大小设置为25
plt.xlabel('日期', fontsize=10) # x轴显示 日期,字体大小设置为10
fig.autofmt\_xdate() # 绘制斜的日期标签,避免重叠
plt.ylabel('气温', fontsize=10) # y轴显示 气温,字体大小设置为10
plt.tick\_params(axis='both', which='major', labelsize=10)
修改刻度
plt.xticks(dates[::1]) # 由于数据不多,将每天的数据全部显示出来
显示折线图
plt.show()### 题目描述
题目来源及自己的思路
相关代码
粘贴代码文本(请勿用截图)
你期待的结果是什么?实际看到的错误信息又是什么?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…