354
Глава 16 •
Загрузка данных
Расширение
временного диапазона
Итак, график успешно создан. Добавим на него новые данные для получения более
полной картины погоды в Ситке. Скопируйте файл
sitka_weather_2018_simple .csv
,
содержащий погодные данные для Ситки за целый год, в каталог с программами
этой главы.
А теперь мы можем сгенерировать график с погодными данными за год:
sitka_highs.py
...
❶
filename = 'data/sitka_weather_2018_simple.csv'
with open(filename) as f:
...
# Форматирование диаграммы.
❷
plt.title("Daily high temperatures - 2018", fontsize=24)
plt.xlabel('', fontsize=16)
...
Значение
filename
было изменено, чтобы в программе использовался новый файл
данных
sitka_weather_2018_simple .csv
, а заголовок диаграммы приведен в соот-
ветствие
с содержимым
. На рис. 16.3 изображена полученная диаграмма.
Рис. 16.3.
Данные за
год
Нанесение на диаграмму
второй серии данных
Обновленный график на рис. 16.3 содержит немало полезной информации, но
график можно сделать еще полезнее, добавив на него данные температурных ми-
нимумов. Для этого необходимо прочитать температурные минимумы из файла
данных и нанести их на график:
Формат CSV
355
sitka_highs_lows.py
...
filename = 'sitka_weather_2018_simple.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
#
Получение дат, температурных минимумов и максимумов из файла.
❶
dates, highs, lows = [], [], []
for row in reader:
current_date = datetime.strptime(row[2], "%Y-%m-%d")
high = int(row[5])
❷
low = int(row[6])
dates.append(current_date)
highs.append(high)
lows.append(low)
# Нанесение данных на диаграмму.
plt.style.use('seaborn')
fig, ax = plt.subplots()
ax.plot(dates, highs, c='red')
❸
plt.plot(dates, lows, c='blue')
# Форматирование диаграммы.
❹
plt.title("Daily high and low temperatures - 2018", fontsize=24)
...
В точке
создается пустой список
lows
для хранения температурных минимумов,
после чего программа извлекает и сохраняет температурный минимум для каждой
даты из седьмой позиции каждой строки данных (
row[6])
. В точке
добавляется
вызов
plot()
для температурных минимумов, которые окрашиваются в синий цвет.
Затем остается лишь обновить заголовок диаграммы
. На рис. 16.4 изображена
полученная диаграмма.
Достарыңызбен бөлісу: