#python #mapping
#python #сопоставление
Вопрос:
Я хотел бы, чтобы кто-нибудь помог мне здесь… У меня возникли некоторые проблемы с отображением. По-видимому, он не распознает местоположения.
import urllib.request
from urllib.request import urlopen
import json
import plotly.express as px
from plotly.subplots import make_subplots
import plotly.graph_objects as go
Я получил файл JSON для карт Европы из GitHub и определил «id» как название страны.
url_eu="https://raw.githubusercontent.com/leakyMirror/map-of-europe/master/GeoJSON/europe.geojson"
with urlopen(url_eu) as response_eu:
eu_countries = json.load(response_eu)
for i in range(0,len(eu_countries['features'])):
eu_countries['features'][i]['properties']['id'] = eu_countries['features'][i]['properties']['NAME']
Это данные, которые я хочу отобразить.
data = [['France', 10], ['Germany', 22], ['Italy', 5], ['Poland',7], ['Spain',8], ['United Kingdom',21]]
df_map = pd.DataFrame(data, columns = ['Country', 'count'])
Это рисунок. Тем не менее, он правильно отображает цветовую шкалу, но не заполняет выбранные страны данными. Итак, в конце у меня есть пустая карта.
fig = go.Figure(go.Choroplethmapbox(geojson=eu_countries,
locations=df_map['Country'],
z=df_map['count'],
colorscale='matter', zmin=0,
colorbar_title = "Amazon warehouses",
marker_opacity=0.5, marker_line_width=0.2))
fig.update_layout(mapbox_style="carto-positron",
mapbox_zoom=3, mapbox_center = {"lat": 50 , "lon": 5})
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()
Знаете ли вы, в чем ошибка?
Заранее спасибо.
Ответ №1:
рис.update_geos(fitbounds=»locations», visible= False) добавьте эту строку в код перед строкой update_layout()