I am trying to use colorbar for an output variable circle plot in Folium
colormap = cm.LinearColormap(colors=['green','red'], index=[min(df['output']), max(df['output'])], vmin=min(df['output']),vmax=max(df['output']), caption='output in units')
folium.Circle(location=[row['Latitude'], row['Longitude']],
radius=800*row["output"],
fill=True,
# opacity=0.8,
# fill_opacity=1,
color=colormap(row["output"])).add_to(m)
When I use this code, the caption text "output in units" is appearing very small. How to increase its font size?
AFAIK, there is no direct way to do it but, you can inject CSS using the font-size
property.
By inspecting the html's folium Map
(with CTRL+SHIFT+I) on Chrome, the caption's text seems to be at #legend > g > text
:
import folium
import pandas as pd
import branca.colormap as cm
df = pd.DataFrame({"output": range(10, 110, 10)})
agg = df["output"].agg(vmin="min", vmax="max")
m = folium.Map([39.5, -98.35], zoom_start=4)
colormap = cm.LinearColormap(
colors=["green", "red"],
index=agg.to_list(),
caption="output in units",
**agg.to_dict(),
)
CSS = "font-size: 16px;" # add more props if needed
m.get_root().header.add_child(
folium.Element(f"<style>#legend > g > text.caption {{{CSS}}}</style>")
)
colormap.add_to(m)