Сопоставление с помощью Choropleth mapbox в python, но рисунок неправильно отображает значения

#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()