Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.8k views
in Technique[技术] by (71.8m points)

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

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

题目来源及自己的思路

相关代码

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...