绘制温度图表
准备工作
下载所需天气数据:
- 若是需要使用该例的天气数据,可以通过图灵社区随书下载
- 若是想要其他天气数据可以通过访问NOAA卫星官网下载
NOAA官网
首先在Discover Data By部分,单击Search Tool
在Select A Dataest中选择Daliy Summaries,选择日期范围以及在Search For下拉列表中选择ZIP Codes
输入你感兴趣地区的邮政编码,再点击Search
实际操作
效果如下图所示:
代码如下所示:
import csv
import matplotlib.pyplot as plt
from datetime import datetime
filename = 'sitka_weather_2014.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
# 从文件中获取日期和最高温度和最低温度
dates,highs,lows = [],[],[]
for row in reader:
current_date = datetime.strptime(row[0],'%Y-%m-%d')
high = int(row[5])
low = int(row[6])
highs.append(high)
dates.append(current_date)
lows.append(low)
# 根据最高温度绘制图形
plt.style.use('seaborn')
fig,ax = plt.subplots()
ax.plot(dates,highs,c='red',alpha=0.5)
ax.plot(dates,lows,c='blue',alpha=0.5)
ax.fill_between(dates,highs,lows,facecolor='blue',alpha=0.1)
# 设置图形格式
ax.set_title("the highest temperature in 2014",fontsize=24)
ax.set_xlabel("",fontsize=16)
fig.autofmt_xdate()
ax.set_ylabel("Temperature(F)",fontsize=16)
ax.tick_params(axis='both',which='major',labelsize=16)
plt.show()