رسم تاریخ‌ها

اکنون می‌توانیم نمودار داده‌های دمایی خود را با استخراج تاریخِ بیشینه‌های روزانه بهبود بدهیم و آن‌ها را مانند زیر به همراه بیشینه‌ی دما به plot() بدهیم:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import csv
from datetime import datetime
import matplotlib.pyplot as plt

filename = 'data/sitka_weather_07-2018_simple.csv'

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

    # Get dates and high temperatures from this file.
    dates, highs = [], []
    for row in reader:
        current_date = datetime.strptime(row[2], '%Y-%m-%d')
        high = int(row[5])
        dates.append(current_date)
        highs.append(high)

# Plot the high temperatures.
plt.style.use('seaborn')
fig, ax = plt.subplots()
ax.plot(dates, highs, c='red')

# Format plot.
plt.title("Daily high temperatures, July 2018", fontsize=24)
plt.xlabel('', fontsize=16)
fig.autofmt_xdate()
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both', which='major', labelsize=16)

plt.show()

دو لیست خالی برای ذخیره‌سازی تاریخ و بیشینه‌ی دما می‌سازیم. سپس داده‌های شامل اطّلاعات تاریخی (row[2]) را به شیء datetime تبدیل می‌کنیم و آن را به dates الحاق می‌کنیم. تاریخ‌ها و بیشینه‌های دما را به plot() می‌دهیم. فراخوانی fig.autofmt_xdate() برچسب‌های تاریخ را به صورت مورّب رسم می‌کند تا از هم‌پوشانی آن‌ها را جلوگیری کند. شکل ۱۶-۲ نمودار بهبودیافته را نشان می‌دهد.

شکل ۱۶-۲- نمودار که اکنون تاریخ‌ها را بر محور x خود دارد معنادارتر است.