Книга «Изучаем Python»


Рис. 16.3. Данные за год 344



Pdf көрінісі
бет207/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   203   204   205   206   207   208   209   210   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

Рис. 16.3.
Данные за год


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
красные и синие линии на графике становятся более светлыми.


Достарыңызбен бөлісу:
1   ...   203   204   205   206   207   208   209   210   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет