Plotly maps#

  • Various map types and overlays are available.

  • Open Street Map is open for use without a token.

  • Overlays include scatter, lines, densities, etc.

  • Choropleths (coloured map sections) can be used as overlays or as separate plots when a GeoJSON formated dictionary of map polygons are available.

# The following renders plotly graphs in Jupyter Notebook, Jupyter Lab and VS Code formats
import plotly.io as pio
pio.renderers.default = "notebook+plotly_mimetype"

Map#

  • Various maps with user defined overlays are available, e.g., scatter_map.

  • From Plotly version 5.24, Mapbox-es are deprecated, e.g., scatter_mapbox.

    • Writer has, as of 16. November 2024, not made the switch yet.

    • In most cases, switching between map and mapbox does not require other code changes.

import plotly.express as px
import pandas as pd

us_cities = pd.read_csv(
    "https://raw.githubusercontent.com/plotly/datasets/master/us-cities-top-1k.csv"
)

fig = px.scatter_mapbox(
    us_cities,
    lat="lat",
    lon="lon",
    hover_name="City",
    hover_data=["State", "Population"],
    color_discrete_sequence=["fuchsia"],
    zoom=3,
    height=300,
    width=600,
)
fig.update_layout(mapbox_style="open-street-map")
fig.update_layout(margin={"r": 0, "t": 0, "l": 0, "b": 0})
fig.update_layout(mapbox_bounds={"west": -180, "east": -50, "south": 20, "north": 90})
fig