Fazendo um mapa choropleth com folium

votos
1

Eu tenho um problema fazendo este mapa choroepth. As áreas estão certos, eu tenho os números corretos, mas enche minhas áreas com a mesma cor. Minha suposição é que eu estou começando a key_on errado. Meu código é baseado neste tutorial: https://blog.dominodatalab.com/creating-interactive-crime-maps-with-folium/ cupom:

[district_geo = r'C:/1/sfpddists.geojson' 
SF = (37.783087441092704, -122.46120747577555) 

crimedata2 = pd.DataFrame(df\['Police District'\].value_counts().astype(float)) 
crimedata2.to_json('crimeagg.json') 
crimedata2 = crimedata2.reset_index() 
crimedata2.columns = \['District', 'Number'\] 

m = folium.Map(location=SF, zoom_start=12) 

folium.GeoJson( 
district_geo, 
name='geojson' 
).add_to(m) 


m.choropleth(geo_data=r'C:/1/sfpddists.geojson', data=crimedata2, 
columns=\['District', 'Number'\], 
key_on=None, 
fill_color = 'PuBu', 
fill_opacity = 0.7, 
line_opacity = 0.2, 
highlight=True, 
legend_name = 'Number of incidents per district') 
m][1]
Publicado 18/12/2018 em 11:06
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

O key_onargumento espera que o nome do campo nos dados GeoJSON que links para dados numéricos. No seu trecho de código que é definido como None, por isso não funciona. No tutorial eles usam key_on = 'feature.properties.DISTRICT'.

Isto significa que nos dados do GeoJSON cada recurso terá uma propriedade denominada 'DISTRITO' que eu suponho que irá conter o nome de um distrito. Então, em sua trama de dados que você tem uma coluna chamada 'District' com cordas que correspondem ao valor no campo de GeoJSON 'DISTRITO'. Onde houver uma correspondência o valor na coluna 'Número' será utilizado para determinar a cor.

Respondeu 13/01/2019 em 20:54
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more