Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
python-visualization
GitHub Repository: python-visualization/folium
Path: blob/main/docs/advanced_guide/subplots.md
1601 views
--- nbsphinx: hidden --- import folium import branca

Subplots

Two maps in one figure

A Map automatically creates a Figure to put itself in. You can also do this manually, or in this example, create subplots to have two maps in one figure.

fig = branca.element.Figure() subplot1 = fig.add_subplot(1, 2, 1) subplot2 = fig.add_subplot(1, 2, 2) subplot1.add_child( folium.Map([0, 0], zoom_start=1) ) subplot2.add_child( folium.Map([46, 3], tiles="OpenStreetMap", zoom_start=5) ) fig

Vega div and a Map

Here we create a single figure in which we'll embed two maps and two Vega charts. Note that this also works with VegaLite.

import json import numpy as np import vincent multi_iter2 = { "x": np.random.uniform(size=(100,)), "y": np.random.uniform(size=(100,)), } scatter = vincent.Scatter(multi_iter2, iter_idx="x", height=250, width=420) data = json.loads(scatter.to_json()) f = branca.element.Figure() # Create two maps. m = folium.Map( location=[0, 0], zoom_start=1, position="absolute", left="0%", width="50%", height="50%", ) m2 = folium.Map( location=[46, 3], tiles="OpenStreetMap", zoom_start=4, position="absolute", left="50%", width="50%", height="50%", top="50%", ) # Create two Vega charts v = folium.Vega(data, position="absolute", left="50%", width="50%", height="50%") v2 = folium.Vega( data, position="absolute", left="0%", width="50%", height="50%", top="50%" ) f.add_child(m) f.add_child(m2) f.add_child(v) f.add_child(v2) f