In [656]:
import pandas as pd
import folium
In [657]:
state_geo1 = (r"SPH_KRAJ1.json")
state_cars1 = (r"data.xlsx")
state_data1 = pd.read_excel(state_cars1)
state_data.head()
Out[657]:
ID Kraj Auta log
0 19 Hlavní město Praha 74314 4.871071
1 35 Jihočeský kraj 7518 3.876102
2 116 Jihomoravský kraj 16381 4.214340
3 51 Karlovarský kraj 3391 3.530328
4 108 Kraj Vysočina 4598 3.662569
In [658]:
state_geo2 = (r"SPH_OKRES.json")
state_cars2 = (r"okresy.xlsx")
state_data2 = pd.read_excel(state_cars2)
state_data2.head()
Out[658]:
ID Okres Auta
0 3201 Benešov 883
1 3202 Beroun 908
2 3701 Blansko 886
3 3702 Brno-město 8917
4 3703 Brno-venkov 2518
In [659]:
m = folium.Map(location=[49.8171606, 15.4766247], zoom_start=8)
In [660]:
bins = list(state_data1["Auta"].quantile([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 1]))
In [661]:
bins2 = list(state_data2["Auta"].quantile([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 1]))
In [662]:
folium.Choropleth(
    geo_data=state_geo1,
    name="Kraje",
    data=state_data1,
    columns=["ID", "Auta"],
    key_on="properties.ID",
    fill_color="Paired",
    fill_opacity=0.7,
    line_opacity=0.3,
    legend_name="Nově přihlášená osobní vozidla podle krajů v roce 2021",
    bins=bins,
    reset=True,
).add_to(m)
Out[662]:
<folium.features.Choropleth at 0x1d2755f2b50>
In [663]:
folium.Choropleth(
    geo_data=state_geo2,
    name="Okresy",
    data=state_data2,
    columns=["ID", "Auta"],
    key_on="properties.ID",
    fill_color="Paired",
    fill_opacity=0.7,
    line_opacity=0.3,
    legend_name="Nově přihlášená osobní vozidla podle okresů v roce 2021",
    bins=bins2,
   reset=True,
).add_to(m)
Out[663]:
<folium.features.Choropleth at 0x1d275500bb0>
In [664]:
style_function = lambda x: {'fillColor': '#ffffff', 
                            'color':'#000000', 
                            'fillOpacity': 0.1, 
                            'weight': 0.1}
highlight_function = lambda x: {'fillColor': '#000000', 
                                'color':'#000000', 
                                'fillOpacity': 0.50, 
                                'weight': 0.1}
NIL = folium.features.GeoJson(
    state_geo1,
    style_function=style_function, 
    control=False,
    highlight_function=highlight_function, 
    tooltip=folium.features.GeoJsonTooltip(
        fields=['NAZEV_NUTS'],
        aliases=['Kraj: '],
        style=("background-color: white; color: #333333; font-family: arial; font-size: 12px; padding: 10px;") 
    )
)
m.add_child(NIL)
m.keep_in_front(NIL)
folium.LayerControl().add_to(m)
m
Out[664]:
Make this Notebook Trusted to load map: File -> Trust Notebook
In [665]:
m.save("CZ_cars_2021.html")
In [ ]: