我想问下我要爬取长沙2020年每个月的气温数据平均值并可视化,应该怎么修改?还有天气情况这些,

发布于 2022-09-12 13:58:02 字数 1486 浏览 30 评论 0

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()### 题目描述

题目来源及自己的思路

相关代码

粘贴代码文本(请勿用截图)

你期待的结果是什么?实际看到的错误信息又是什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文