Show Sidebar Hide Sidebar

Lines on Mapbox in Python

How to draw a line on Map in Python with Plotly.

Mapbox Access Token

To plot on Mapbox maps with Plotly you may need a Mapbox account and a public Mapbox Access Token. See our Mapbox Map Layers documentation for more information.

To draw a line on your map, you either can use px.line_mapbox() in plotly express, or Scattermapbox traces. Below we show you how to draw a line on Mapbox using plotly express.

Lines on Mapbox maps using Plotly Express

In [1]:
import pandas as pd

us_cities = pd.read_csv("")
us_cities = us_cities.query("State in ['New York', 'Ohio']")

import as px

fig = px.line_mapbox(us_cities, lat="lat", lon="lon", color="State", zoom=3, height=300)

fig.update_layout(mapbox_style="stamen-terrain", mapbox_zoom=4, mapbox_center_lat = 41,

Lines on Mapbox maps using Scattermapbox traces

This example uses go.Scattermapbox and sets the mode attribute to a combination of markers and line.

In [2]:
import plotly.graph_objects as go

fig = go.Figure(go.Scattermapbox(
    mode = "markers+lines",
    lon = [10, 20, 30], 
    lat = [10, 20,30], 
    marker = {'size': 10}))

    mode = "markers+lines",      
    lon = [-50, -60,40], 
    lat = [30, 10, -20], 
    marker = {'size': 10}))

    margin ={'l':0,'t':0,'b':0,'r':0},
    mapbox = {
        'center': {'lon': 10, 'lat': 10},
        'style': "stamen-terrain", 
        'center': {'lon': -20, 'lat': -20}, 
        'zoom': 1})


See for more information about mapbox and their attribute options.