Карта Folium choropleth не отображается в геопандах

#python #geopandas #folium

#python #геопанды #folium

Вопрос:

У меня есть фрейм данных geopandas (dfg) со следующей структурой

 lsoa11cd           object
A8                float64
OBJECTID            int64
LSOA11CD           object
LSOA11NM           object
LSOA11NMW          object
Shape__Area       float64
Shape__Length     float64
geometry        geometry
  

Я пытался сгенерировать хороплет с помощью folium, но все области отображаются плоским серым цветом.

     m = folium.Map(
    location=[52.2405, -0.9027],
    
    zoom_start=13  
)
folium.Choropleth(
    geo_data=dfg,
    name ='choropleth',
    data=dfg,
    columns=['LSOA11CD', 'A8'],
    
    Fill_colour='RdPu',
 
    fill_opacity=0.5,
    line_opacity=0.2


).add_to(m)



folium.LayerControl().add_to(m)
m
  

Все области отображаются правильно, но все одного цвета.

Это прекрасно работает с использованием функции plot

 dfg.plot(column='A8')
  

Я чувствую, что упускаю что-то очевидное

Ответ №1:

Я думаю, что вам не хватает key_on параметра в folium.Choropleth , который в основном является связующим звеном между вашим GeoJSON и вашим фреймом данных pandas.

Он использует ваши ключи GeoJSON, чтобы знать, где выполнять объединение. Это может быть что-то вроде 'feature.id' , но вам придется предоставить пример вашего GeoJSON, чтобы я мог назвать вам точный ключ.