Представление дат на диаграмме

We use cookies. Read the Privacy and Cookie Policy

Научившись обрабатывать данные в файлах CSV, вы сможете улучшить диаграмму температурных данных. Для этого мы извлечем из файла даты ежедневных максимумов и передадим даты и максимумы функции plot():

highs_lows.py

import csv

from datetime import datetime

from matplotlib import pyplot as plt

# Чтение дат и температурных максимумов из файла.

filename = 'sitka_weather_07-2014.csv'

with open(filename) as f:

reader = csv.reader(f)

header_row = next(reader)

. .

(1) . .dates, highs = [], []

for row in reader:

(2) . . . .current_date = datetime.strptime(row[0], "%Y-%m-%d")

. . . .dates.append(current_date)

. . . .

high = int(row[1])

highs.append(high)

# Нанесение данных на диаграмму.

fig = plt.figure(dpi=128, figsize=(10, 6))

(3)plt.plot(dates, highs, c='red')

# Форматирование диаграммы.

plt.title("Daily high temperatures, July 2014", fontsize=24)

plt.xlabel('', fontsize=16)

(4)fig.autofmt_xdate()

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

plt.tick_params(axis='both', which='major', labelsize=16)

plt.show()

Рис. 16.2. График с датами на оси x стал более понятным

Мы создаем два пустых списка для хранения дат и температурных максимумов из файла (1) . Затем программа преобразует данные, содержащие информацию даты (row[0]), в объект datetime (2), который присоединяется к dates. Значения дат и температурных максимумов передаются plot() в точке (3). Вызов fig.autofmt_xdate() в точке (4) выводит метки дат по диагонали, чтобы они не перекрывались. На рис. 16.2 изображена новая версия графика.