.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/plot_08_layout.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_plot_08_layout.py: Zoom, cartouches and drop shadow ================================= A zoom window magnifies a dense area (the Paris region), the overseas departments are drawn as cartouches and ``box_shadow`` lifts the main map off the European background. All layers redraw automatically in the zoom window and the cartouches. Hover a department to read its value. .. GENERATED FROM PYTHON SOURCE LINES 12-85 .. raw:: html Guadeloupe Martinique French Guiana Reunion Mayotte 100 km Source: Sante publique France (ODISSE) Deaths / 100,000 inhabitants 25 42 46 50 53 71 No data Mortality from heart failure Zoom on the Paris region, overseas in cartouches .. code-block:: Python from pathlib import Path import pandas as pd from mappyng import Map, BasemapLayer, ChoroplethLayer, VectorLayer from mappyng.data import load_france_departments, load_france_regions, load_europe europe = load_europe().to_crs(2154) regions = load_france_regions().to_crs(2154) deps = load_france_departments().to_crs(2154) df = pd.read_csv(Path("data") / "cardio_mortalite_dep.csv", dtype={"code_dep": str}) deps = deps.merge(df, left_on="COD_GEO", right_on="code_dep", how="left") bbox_metro = [90000, 6040000, 1280000, 7150000] cartouches = { 0: {"bbox": [-6890454, 1780151, -6799589, 1874186], "crs": 3857, "cartouche_title": "Guadeloupe", "cartouche_title_size": 7, "border_radius": 6, "box_shadow": True}, 1: {"bbox": [-6826862, 1609607, -6759494, 1685367], "crs": 3857, "cartouche_title": "Martinique", "cartouche_title_size": 7, "border_radius": 6, "box_shadow": True}, 2: {"bbox": [-6136680, 235261, -5707791, 671780], "crs": 3857, "cartouche_title": "French Guiana", "cartouche_title_size": 7, "border_radius": 6, "box_shadow": True}, 3: {"bbox": [6136383, -2448160, 6226316, -2366992], "crs": 3857, "cartouche_title": "Reunion", "cartouche_title_size": 7, "border_radius": 6, "box_shadow": True}, 4: {"bbox": [5006226, -1459183, 5050208, -1416184], "crs": 3857, "cartouche_title": "Mayotte", "cartouche_title_size": 7, "border_radius": 6, "box_shadow": True}, } m = Map(europe, bbox=bbox_metro, width=900, height=1000, padding=25, facecolor="#dce6f0", border_radius=10, box_shadow={"dx": 3, "dy": 3, "blur": 6, "opacity": 0.2}, cartouche_params=cartouches, cartouche_spacing=15) m.add(BasemapLayer()) m.add(VectorLayer(regions, stroke="#4d4d4d", stroke_width=0.1, on_cartouches=True)) m.add_shadow(europe, {"query": "code_pays_iso3=='FRA'", "on_cartouches": True}) m.add_zoom({ # Paris and the inner ring (75, 92, 93, 94) in Lambert-93. A tight # bbox over a large window magnifies this dense area about 11 times # relative to the main map. "bbox": [634000, 6841000, 674000, 6882000], "x": 705, "y": 160, "width": 128, "height": 140, "border_radius": 8, "box_shadow": {"dx": 2, "dy": 2, "blur": 4, "opacity": 0.3}, }) m.add(BasemapLayer()) m.add(ChoroplethLayer(deps, column="taux_mortalite", cmap="Reds", method="Quantiles", num_classes=5, stroke_width=0.15, legend={"title": "Deaths / 100,000 inhabitants", "orientation": "horizontal", "decimals": 0, "nodata_label": "No data"}, on_zoom=True, on_cartouches=True)) m.add(VectorLayer(regions, stroke="#333333", stroke_width=0.4, position="top", on_zoom=True, on_cartouches=True)) m.title("Mortality from heart failure", subtitle="Zoom on the Paris region, overseas in cartouches") m.scale_bar(length=100000, label="100 km", position={"x": 0.46, "y": 0.9}, opacity=0.8) m.source("Source: Sante publique France (ODISSE)") # Hover tooltips. The gallery embeds an interactive SVG from this dict; the # same call also yields a standalone HTML file. TOOLTIP = {"columns": ["LIB_GEO", "taux_mortalite"], "aliases": {"LIB_GEO": "Department", "taux_mortalite": "Rate"}} interactive = m.to_interactive(**TOOLTIP) # interactive.save("layout.html") .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.484 seconds) .. _sphx_glr_download_gallery_plot_08_layout.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_08_layout.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_08_layout.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_08_layout.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_