使用Python来处理CSV格式存储的天气数据,并用Matplotlib模块创建图表,显示一段时间内的最高温和最低温变化情况。
# 加载模块
import csv
from datetime import datetime
from matplotlib import pyplot as plt
# 加载CSV文件
file_2014='sitka_weather_2014.csv'
with open(file_2014) as f:
# 加载CSV模块阅读器
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[1])
low=int(row[3])
dates.append(current_date)
highs.append(high)
lows.append(low)
# 图像分辨率,尺寸设置
fig=plt.figure(dpi=128,figsize=(10,6))
# 标题设置
plt.title('Daily high and low temperatures - 2014')
# X轴标签设置,自动更新格式
plt.xlabel('Date')
fig.autofmt_xdate()
# Y轴标签和坐标范围设置
plt.ylabel('Temperatures(F)')
plt.ylim(20,80)
# 刻度设置
plt.tick_params(axis='both',which='both',labelsize=8)
# 根据数据画折线图
plt.plot(dates,highs,linewidth=3,c='red',alpha=0.5)
plt.plot(dates,lows,linewidth=3,c='blue',alpha=0.5)
# 区域填充
plt.fill_between(dates,highs,lows,facecolor='green',alpha=0.1)
# 图像显示
plt.show()
以下是生成的图表效果: