Einen Choroplethenkarte mit folium

stimmen
1

Ich habe ein Problem macht diese choroepth Karte. Die Bereiche sind richtig, ich habe die Zahlen richtig, aber es füllt meine Bereiche mit der gleichen Farbe. Meine Vermutung ist , dass ich die key_on falsch bin immer. Mein Code ist auf diesem Tutorial basiert: https://blog.dominodatalab.com/creating-interactive-crime-maps-with-folium/ Code:

[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]
Veröffentlicht am 18/12/2018 um 11:06
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Das key_onArgument erwartet den Namen des Feldes in den GeoJSON Daten, den numerischen Daten verknüpft. In Ihrem Code - Snippet es ist auf None, so funktioniert es nicht. Im Tutorial sie verwenden key_on = 'feature.properties.DISTRICT'.

Das bedeutet, dass jedes Merkmal in den GeoJSON Daten eine Eigenschaft ‚DISTRICT‘ genannt haben, das nehme ich an den Namen eines Bezirks enthalten. Dann in Ihrem Datenrahmen haben Sie eine Spalte mit dem Namen ‚Kreis‘ mit Strings, die den Wert in dem GeoJSON ‚DISTRICT‘ Feld entsprechen. Wo es eine Übereinstimmung gibt den Wert in der ‚Nummer‘ Spalte wird verwendet, um die Farbe zu bestimmen.

Beantwortet am 13/01/2019 um 20:54
quelle vom benutzer

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