Seite 1 von 1

Folium.Choropleth: eigene colormap für fill_color

Verfasst: Freitag 19. Juni 2020, 09:02
von naheliegend
Hi,

ich habe mittels folium eine map erstellt und plote die geodaten für jedes Gebiet. Ich habe 10 verschiedene Gebiete und ich möchte, dass jedes Gebiet in einer anderen Farbe dargestellt wird.

Wenn ich vordefinierte fill_color = 'YlGn' nutze, dann setzt er die thresholds automatisch und zwar nicht nach jeder Zahl, sondern erst nach zwei Zahlen. Also Gebiet 1 und 2 haben die selbe Farbe, was natürlich überhaupt nicht gewollt ist.

Code: Alles auswählen

    
    folium.Choropleth(
        geo_data=GeoP_df,
        name='Gebiet',
        data=GeoP_df,
        columns=['ID', 'gebiet'],
        key_on='feature.properties.ID',
        fill_color='YlGn',
        fill_opacity=0.7,
        line_opacity=0.1,
        legend_name='Gebiete'
    ).add_to(m)
Jetzt versuche ich meine eigene colormap zu erzeugen, was aber gar nicht so einfach ist.

Es gibt da die library: branca

Hier ein Beispiel, wie sie genutzt wird:
https://nbviewer.jupyter.org/github/pyt ... maps.ipynb

Das Ding ist, ich bekomme das nicht in mein Choropleth rein, weil im Beispiel ein geojson objekt verwendet wurde. fill_color erwartet einen string.

Jemand einen Ansatz für mich?

Viele Grüße

Re: Folium.Choropleth: eigene colormap für fill_color

Verfasst: Freitag 19. Juni 2020, 10:02
von __blackjack__
@naheliegend: Laut Dokumentation wird der Bereich standardmässig immer in 6 gleichmässig verteilte Abschnitte aufgeteilt. Wenn man das ändern will, also bei Dir anscheinend in 10 Abschnitte, dann brauchst Du das `bins`-Argument.

Re: Folium.Choropleth: eigene colormap für fill_color

Verfasst: Freitag 19. Juni 2020, 10:13
von naheliegend
Stimmt. Danke dir.

Schmeißt mir aber einen Fehler:

Code: Alles auswählen

    folium.Choropleth(
        geo_data=GeoP_df,
        name='Gebiet',
        data=GeoP_df,
        columns=['ID', 'gebiet'],
        key_on='feature.properties.ID',
        bins=10,
        fill_color='YlGn',
        fill_opacity=0.7,
        line_opacity=0.1,
        legend_name='Gebiete'
    ).add_to(m)

OUT:
if scheme_info[base_code] == 'Qualitative':
KeyError: 'YlGn'

Re: Folium.Choropleth: eigene colormap für fill_color

Verfasst: Freitag 19. Juni 2020, 11:56
von naheliegend
bins=10,
fill_color='Set3'

hat zum gewünschten Verhalten geführt. Danke.

closed.