Я использую folium
для создания картограммы набора стран. Я следую документации. Тем не мение. по какой-то причине на карте не отображаются оттенки. Я использую мировой геоджсон из естественной земли (см. суть).
Мой фрейм данных выглядит так:
>>> spatial_scores.head()
Out[1]:
id Country Score
PER Peru 2.810300
HND Honduras 2.734521
GUF French Guiana 2.730886
SLV El Salvador 2.473134
CRI Costa Rica 2.454963
Мировой геоджсон выглядит так:
>>> world_json['features'][0]['id']
Out [2]:
u'AFG'
Соответствующие части хороплетных кодов приведены ниже:
map1 = folium.Map(location=[-15., -60], zoom_start=4)
map1.geo_json(geo_path=world_json_path,
data_out='data.json',
data=spatial_scores,
columns=['id', 'Score'],
threshold_scale=[0, 1, 2, 3, 4],
key_on='features.id',
fill_color='BuPu', fill_opacity=0.7, line_opacity=0.5,
legend_name='Score')
map1.create_map('./Scores.html')
Однако я не получаю никаких результатов choropleth и остаюсь только с базовой картой страны, как показано ниже
Что-то я делаю не так?
[Редактировать]
Я разобрался в проблеме. Для построения choropleth
мне нужно было сохранить только те ключи в geojson
, которые также были в моем фрейме данных.
merged = gdf.merge(spatial_scores, left_on='name', right_on='Country')
spatial_gdf = gpd.GeoDataFrame(merged.iloc[:, [0, 1]])
data_df = merged.iloc[:, [2, 3, 4]]