使用Python來(lái)處理CSV格式存儲(chǔ)的天氣數(shù)據(jù),并用Matplotlib模塊創(chuàng)建圖表虾宇,顯示一段時(shí)間內(nèi)的最高溫和最低溫變化情況。
# 加載模塊
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)
# 圖像分辨率皮假,尺寸設(shè)置
fig=plt.figure(dpi=128,figsize=(10,6))
# 標(biāo)題設(shè)置
plt.title('Daily high and low temperatures - 2014')
# X軸標(biāo)簽設(shè)置鞋拟,自動(dòng)更新格式
plt.xlabel('Date')
fig.autofmt_xdate()
# Y軸標(biāo)簽和坐標(biāo)范圍設(shè)置
plt.ylabel('Temperatures(F)')
plt.ylim(20,80)
# 刻度設(shè)置
plt.tick_params(axis='both',which='both',labelsize=8)
# 根據(jù)數(shù)據(jù)畫折線圖
plt.plot(dates,highs,linewidth=3,c='red',alpha=0.5)
plt.plot(dates,lows,linewidth=3,c='blue',alpha=0.5)
# 區(qū)域填充
plt.fill_between(dates,highs,lows,facecolor='green',alpha=0.1)
# 圖像顯示
plt.show()
以下是生成的圖表效果: