Проблема с цветовой картой на карте фолио - PullRequest
0 голосов
/ 29 мая 2020

Я хочу создать тепловую карту США на основе данных о случаях COVID 19. Для этого я использую folium и geo pandas. Вот ссылка для данных

, а код, который я использовал, приведен ниже.

colormap = cm.linear.YlGnBu_09.to_step(data=merged_data_cases['cases'], 
           method='quant', quantiles=[0,0.1,0.75,0.9,0.98,1]

usa_map = folium.Map(location=[48, -102], zoom_start=3, tiles=None)
folium.TileLayer('CartoDB positron',name="Light Map",control=False).add_to(usa_map)
colormap.caption = 'Confirmed Cases'


style_function = lambda x: {"weight":0.5, 
                        'color':'black',
                        'fillColor':colormap(x['properties']['cases']), 
                        'fillOpacity':0.75}
highlight_function = lambda x: {'fillColor': '#000000', 
                           'color':'#000000', 
                            'fillOpacity': 0.50, 
                            'weight': 0.1}
interactive = folium.features.GeoJson(
                merged_data_cases,
                style_function=style_function, 
                control=False,
                highlight_function=highlight_function, 
        tooltip=folium.features.GeoJsonTooltip(
                 fields=['Name','cases'],
                 aliases=['State: ','Confirmed Cases: '],
                 style=("background-color: white; color: #333333; font-family: arial; font-size: 12px; padding: 10px;"),
    sticky = True
   )
)
   colormap.add_to(usa_map)
   usa_map.add_child(interactive)
   usa_map

Пока я запускаю код, я получаю следующую ошибку.

AssertionError: The field Name is not available in the data. Choose from: ('NAME', 'STATE', 'cases').

Я просмотрел так много статей, блогов и документации, но все еще не мог понять свою ошибку. Кто-нибудь может указать, что я здесь делаю не так? Я считаю, что ошибка связана с параметрами style_function.

1 Ответ

1 голос
/ 29 мая 2020

Кажется, что вы должны написать name заглавными буквами как NAME в fields=['Name','cases'], поскольку доступные поля в сообщении об ошибке указаны как ИМЯ, СОСТОЯНИЕ, случаи

...