读取CSV温度数据并可视化

先看结果


读取CSV温度数据并可视化_第1张图片
Paste_Image.png

数据格式如下:

读取CSV温度数据并可视化_第2张图片
Paste_Image.png

其中第0列为日期,在可视化图片中的x轴显示
第1列为最大温度,第3列为最底温度在y轴显示。
首先使用csv读取文件并把数据保存在列表中:

from datetime import datetime
import csv

filename = 'death_valley_2014.csv'
with open(filename) as f:
    reader = csv.reader(f)
    header_row = next(reader)

    dates, highs, lows = [], [], []
    for row in reader:
        try:
            current_date = datetime.strptime(row[0], "%Y-%m-%d")
            high = int(row[1])
            low = int(row[3])
        except ValueError:
            print(current_date, 'missing data')
        else:
            dates.append(current_date)
            highs.append(high)
            lows.append(low)

分别引入csv,通过reader()方法读取文件并遍厉,把结果保存在相应的列表中。其中row[0]为日期数据,需要进行字符串式的格式化,使用strptime方法datetime.strptime(row[0], "%Y-%m-%d")

#添加最高和最低两种气温
fig = plt.figure(dpi=128, figsize=(10, 6))
plt.plot(dates, highs, c='red', alpha=0.5)
plt.plot(dates, lows, c='blue', alpha=0.5)
#填充颜色,透明度
plt.fill_between(dates, highs, lows, facecolor='blue', alpha=0.1)

plt.title("Daily high temperatures, July 2014", fontsize=24)
plt.xlabel('Dates', fontsize=16)

#使用autofmt_xdate()绘制斜的日期
fig.autofmt_xdate()

plt.ylabel('Temperature(F)',fontsize=16)

#标签参数,如大小等等
plt.tick_params(axis='both', which='major', labelsize=14)

plt.show()

你可能感兴趣的:(读取CSV温度数据并可视化)