344
Глава 16 •
Загрузка данных
Нанесение на диаграмму
второй серии данных
Обновленный график на рис. 16.3 содержит значительное количество полезных
данных, но график можно сделать еще полезнее, добавив на него данные темпера-
турных минимумов. Для этого необходимо прочитать температурные минимумы
из файла данных и нанести их на график:
highs_lows.py
...
#
Чтение дат, температурных максимумов и минимумов из файла.
filename = 'sitka_weather_2014.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[0], "%Y-%m-%d")
dates.append(current_date)
high = int(row[1])
highs.append(high)
low = int(row[3])
lows.append(low)
# Нанесение данных на диаграмму.
fig = plt.figure(dpi=128, figsize=(10, 6))
plt.plot(dates, highs, c='red')
plt.plot(dates, lows, c='blue')
# Формат диаграммы.
x plt.title("Daily high and low temperatures - 2014", fontsize=24)
...
Рис. 16.4.
Две серии
данных на одной диаграмме
Формат CSV
345
В точке
создается пустой список
lows
для хранения температурных минимумов,
после чего программа извлекает и сохраняет температурный минимум для каждой
даты из четвертой позиции каждой строки данных (
row[3])
. В точке
добавля-
ется вызов
plot()
для температурных минимумов, которые окрашиваются в синий
цвет. Затем остается лишь обновить
заголовок диаграммы
.
На рис. 16.4 изображена полученная диаграмма.
Цветовое
выделение части диаграммы
После добавления двух серий данных можно переходить к анализу диапазона
температур по дням. Пора сделать последний штрих в оформлении диаграммы:
затушевать диапазон между минимальной и максимальной дневной температу-
рой. Для этого мы воспользуемся методом
fill_between()
, который получает
серию значений
x
и две серии значений
y
и заполняет область между двумя
значениями
y
:
highs_lows.py
...
# Нанесение данных на диаграмму.
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)
...
Аргумент
alpha
определяет степень прозрачности вывода. Значение 0 означает
полную прозрачность, а 1 (по умолчанию) — полную непрозрачность. Со значением
alpha=0.5
красные и синие линии на графике становятся более светлыми.
Достарыңызбен бөлісу: