Skip to content

fig.add_vline fails on figure with a separate subplot containing Scatter3d #3874

Open
@slishak

Description

@slishak

The following code creates a 2D subplot in the left column and a 3D subplot in the right column. Adding a vertical line to the 2D subplot fails if a Scatter3d has been added to the 3D subplot.

Another bug shown in this example is that add_vline does not add any annotations if the plot is empty.

from plotly import subplots
specs = [
    [{}, {'type': 'scene', 'rowspan': 1}],
]
fig = subplots.make_subplots(rows=1, cols=2, specs=specs)

# Add dummy data 
# If both of these are commented out, fig.add_vline does nothing
# If neither are commented out, fig.add_vline raises a PlotlyKeyError
# If fig.add_scatter3d is commented out, the figure is generated successfully
fig.add_scatter(x=[0, 1], y=[0, 1], row=1, col=1)
fig.add_scatter3d(x=[0, 1], y=[0, 1], z=[0, 1], row=1, col=2)

# Add vertical line to left (2D) subplots only
fig.add_vline(x=2, col=1)  # Raises PlotlyKeyError

(Plotly version 5.9.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3backlogbugsomething broken

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions