М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет267/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   263   264   265   266   267   268   269   270   ...   334
Байланысты:
Изучаем Python

Рис. 16.7.
Простая карта с информацией о землетрясениях,
произошедших за последние 24 часа
В диаграмму можно внести множество изменений, которые сделают карту более 
информативной и удобочитаемой. Внесем некоторые из этих изменений.
Другой способ определения данных для диаграммы
Прежде чем переходить к настройке диаграммы, рассмотрим другой способ опре-
деления данных для диаграмм Plotly. Для текущей диаграммы список данных 
определяется в одной строке:
data = [Scattergeo(lon=lons, lat=lats)]


368
Глава 16 • Загрузка данных
Это один из простейших способов определения данных диаграмм в Plotly. Тем не 
менее это не идеальный вариант настройки визуализации. Эквивалентный способ 
определения данных для текущей диаграммы выглядит так:
data = [{
'type': 'scattergeo',
'lon': lons,
'lat': lats,
}]
В этом варианте вся информация о данных структурируется в форме пар «ключ-
значение» в словаре. Включив этот код в 
eq_plot .py
, вы увидите ту же диаграмму, 
которая была сгенерирована ранее. С этим форматом настройки задаются проще, 
чем с предыдущим форматом.
Настройка размера маркера
Разбираясь с тем, как улучшить оформление карты, следует сосредоточиться на 
тех аспектах карты, которые вы бы хотели передать более четко. На текущей карте 
показано местоположение каждого землетрясения, но она не передает силу каждого 
землетрясения. Пользователь должен сразу видеть, где в мире происходят самые 
разрушительные землетрясения.
Для этого мы будем изменять размер маркеров в зависимости от магнитуды каж-
дого землетрясения.
eq_world_map.py
import json
...
# Нанесение данных на карту.
data = [{
'type': 'scattergeo',
'lon': lons,
'lat': lats,

'marker': {

'size': [5*mag for mag in mags],
},
}]
my_layout = Layout(title='Global Earthquakes')
...
Plotly предоставляет широкие возможности настройки рядов данных, каждый 
элемент которых может быть представлен в форме «ключ-значение». В данном 
случае мы используем ключ 
'marker'
для определения величины каждого маркера 
на карте 

. Мы используем вложенный словарь как значение, связанное с 
'marker'

потому что вы можете задать ряд настроек для всех маркеров ряда.
Мы хотим, чтобы размер маркера соответствовал магнитуде каждого землетрясе-
ния. Но если передать только список 
mags
, то маркеры получатся слишком мелкими 


Построение карт с глобальными наборами данных: формат JSON
369
и вам будет трудно разглядеть различия в размерах. Чтобы получить подходящий 
размер маркера, необходимо умножить магнитуду на масштабный коэффициент. 
Для моего экрана хорошо подходит значение 5; возможно, для вашей карты лучше 
подойдет чуть большее или меньшее значение. Мы используем генератор списка, 
который сгенерирует правильный размер маркера для каждого значения в списке 
mags

.
Примерный вид карты, которая будет построена при выполнении этого кода, по-
казан на рис. 16.8. Карта выглядит значительно лучше, но это еще не все.


Достарыңызбен бөлісу:
1   ...   263   264   265   266   267   268   269   270   ...   334




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

    Басты бет