import pandas as pd
import folium
state_geo1 = (r"SPH_KRAJ1.json")
state_cars1 = (r"data.xlsx")
state_data1 = pd.read_excel(state_cars1)
state_data.head()
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 |
state_geo2 = (r"SPH_OKRES.json")
state_cars2 = (r"okresy.xlsx")
state_data2 = pd.read_excel(state_cars2)
state_data2.head()
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 |
m = folium.Map(location=[49.8171606, 15.4766247], zoom_start=8)
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]))
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]))
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)
<folium.features.Choropleth at 0x1d2755f2b50>
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)
<folium.features.Choropleth at 0x1d275500bb0>
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
m.save("CZ_cars_2021.html")