Почему карта Python Choropleth не отображает цвета? - PullRequest
0 голосов
/ 23 февраля 2020

Я хотел бы создать карту Choropleth в Python с использованием библиотеки Folium.

Это набор данных:

df_new_count2

Рецензент Страна Количество Оригинальный номер Процент

0 Греция 191 3352 0,056981

1 Бельгия 338 5991 0,056418

2 Германия 429 7843 0,054698

Json используется следующий файл : https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/world_countries.json

Это код, который я использовал:

world_map = folium.Map(location=[40, 0], zoom_start=1.5)

folium.Choropleth (geo_data = 'https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/world_countries.json',

    name='choropleth',

    data=df_new_count2,

    columns=['Reviewer Country','Percentage'],

    key_on='feature.properties.name',

    fill_color='YlOrRd',

    fill_opacity=0.7,

    line_opacity=0.2,

    legend_name='Percentage of people'
).add_to(world_map)

folium.LayerControl().add_to(world_map)

world_map

Карта отображается, но все черное, цвета не отображаются.

Карта

Кто-нибудь знает, в чем может быть проблема? Заранее спасибо за ваше время.

1 Ответ

0 голосов
/ 23 февраля 2020

Вы можете попробовать:

import pandas as pd
import folium

# create dataframe
df_new_count2 = pd.DataFrame([['Greece', 0.056981], ['Belgium', 0.056418], ['Germany', 0.054698]], columns=['Reviewer Country','Percentage'])
df_new_count2

# plot map
world_map = folium.Map(location=[40, 0], zoom_start=1.5)
folium.Choropleth(geo_data='https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/world_countries.json', name='choropleth',
    data=df_new_count2,
    columns=['Reviewer Country','Percentage'],
    key_on='feature.properties.name',
    fill_color='YlOrRd',
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name='Percentage of people'
).add_to(world_map)
folium.LayerControl().add_to(world_map)
world_map

Результат: enter image description here

Он окрашивает только те страны, для которых данные доступны в кадре данных. Можете ли вы проверить, что ваш фрейм данных содержит данные для выбранных стран?

...