#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, чтобы я мог назвать вам точный ключ.