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



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

eq_explore_data.py
...
all_eq_dicts = all_eq_data['features']
mags, lons, lats = [], [], []
for eq_dict in all_eq_dicts:
mag = eq_dict['properties']['mag']


366
Глава 16 • Загрузка данных

lon = eq_dict['geometry']['coordinates'][0]
lat = eq_dict['geometry']['coordinates'][1]
mags.append(mag)
lons.append(lon)
lats.append(lat)
print(mags[:10])
print(lons[:5])
print(lats[:5])
Для долгот и широт создаются пустые списки (
lons
и 
lats
). Выражение 
eq_
dict['geometry']
обращается к словарю, представляющему элемент 
geometry
данных землетрясения 
(1)
. Второй ключ 
'coordinates'
извлекает список значений, 
связанных с ключом 
'coordinates'
. Наконец, индекс 0 запрашивает первое значе-
ние в списке координат, соответствующее долготе землетрясения.
При выводе первых пяти долгот и широт становится видно, что данные были из-
влечены правильно:
[0.96, 1.2, 4.3, 3.6, 2.1, 4, 1.06, 2.3, 4.9, 1.8]
[-116.7941667, -148.9865, -74.2343, -161.6801, -118.5316667]
[33.4863333, 64.6673, -12.1025, 54.2232, 35.3098333]
С этими данными можно переходить к нанесению координат землетрясений на 
географическую карту.
Построение карты мира
На основании всей информации, собранной к настоящему моменту, можно по-
строить простую карту мира. И хотя первая версия будет выглядеть убого, нужно 
убедиться в том, что информация отображается правильно, прежде чем сосредото-
читься на стиле и визуальном оформлении. Исходная карта выглядит так:
eq_world_map.py
import json

from plotly.graph_objs import Scattergeo, Layout
from plotly import offline
...
for eq_dict in all_eq_dicts:
...
# Нанесение данных на карту.

data = [Scattergeo(lon=lons, lat=lats)]

my_layout = Layout(title='Global Earthquakes')

fig = {'data': data, 'layout': my_layout}
offline.plot(fig, filename='global_earthquakes.html')


Построение карт с глобальными наборами данных: формат JSON
367
Программа импортирует тип диаграммы 
Scattergeo
и класс 
Layout
, а затем модуль 
offline
для вывода карты 

. Как и при построении гистограммы, определяется 
список с именем 
data
. Объект 
Scattergeo
создается в списке 

, потому что в лю-
бой построенной визуализации можно нанести более одного набора данных. Тип 
диаграммы 
Scattergeo
позволяет наложить на карту диаграмму разброса геогра-
фических данных. В простейшем варианте использования этого типа диаграммы 
достаточно передать список долгот и широт.
Мы предоставляем заголовок диаграммы 

и создаем словарь с именем 
fig
, со-
держащий данные и макет 

. Наконец, 
fig
передается функции 
plot()
с содержа-
тельным именем файла для вывода данных.
При выполнении этого файла должна открыться карта, примерный вид которой 
показан на рис. 16.7. Землетрясения обычно происходят поблизости от границ 
тектонических плит, что соответствует тому, что мы видим на диаграмме.


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




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

    Басты бет