Skip to content

dcc.Graph with Scattergl renders empty after update to Plotly 6 #5336

@fgiaret

Description

@fgiaret

The sample code below plots a Figure with some Scattergl traces, rendered inside a dcc.Graph component.
Each trace has mode “lines+text”.
With Plotly 5 this used to work as expected; after updating to Plotly >= 6.0.0, the graph component still loads, but no data points are visible.
No errors are shown in the browser console or Python logs (as a note, Dash 3 was used).

Sample Code

import dash
from dash import dcc, html
import plotly.graph_objs as go
import numpy as np

# Generate data for many scattergl traces
num_points = 10000
num_traces = 4

traces = []
for i in range(num_traces):
    x = np.arange(num_points)
    y = np.random.rand(num_points) + i
    customdata = [f"Trace {i+1} - Point {j}" for j in range(num_points)]
    labels = [f"Trace {i+1} - Point {j}" if j==0 else "" for j in range(num_points)]
    
    trace = go.Scattergl(
        x=x, 
        y=y, 
        mode='lines+text', 
        name=f'Trace {i+1}',
        customdata=customdata,
        text=labels,
        textposition='top center',
        hovertemplate="%{customdata}<br>X: %{x}<br>Y: %{y}<extra></extra>"
    )
    
    traces.append(trace)

# Create the figure
fig = go.Figure(data=traces)
fig.update_layout(title=f'ScatterGL with {num_traces} Traces', xaxis_title='X', yaxis_title='Y')

# Create Dash app
app = dash.Dash(__name__)
app.layout = html.Div([
    html.H1("Dash ScatterGL Example"),
    dcc.Graph(figure=fig)
])

if __name__ == "__main__":
    app.run(debug=True)

Turning Scattergl mode from “lines+text” into “lines” restores the expected behaviour.
Playing with the number of traces or data points seems to have no effect.

Environment
The issue occurs with the following environment:

Python version: 3.9.7
Dash version: 3.2.0
Plotly version: 6.3.0
Browser: Chrome 139
OS: Windows 11
As already mentioned, downgrading Plotly (e.g. from version 6.3.0 to 5.24.1) restores the expected behaviour.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions