Plotly draw shape, cannot delete shape

Hi,

I can draw shapes on my plot, which i plan on using for allowing annotations.
Usually with Plotly, you can shift+left mouse click, select the shape and erase the shape.
However, if it’s plotted via Streamlit I can move and resize the shape but I cannot ‘select’ it to erase it.

Streamlit App

https://plotly.com/python/configuration-options/

Hi @seanbf ,

It took me a while to figure it out, but the effort payed off.

The 'editable' : True config option is the reason you’re unable to select the shape. If you comment out line 25 and uncomment the remaining options, you should be able to left click the shape to select it! You can then click on the erase button to get rid of the shape :smiley:

Here’s an example:

import streamlit as st
import plotly.graph_objects as go
import plotly.express as px

df = px.data.iris()
fig = px.scatter(df, x="petal_width", y="sepal_length", color="species")
fig.update_layout(
    dragmode="drawopenpath",
    newshape_line_color="cyan",
    title_text="Draw a path to separate versicolor and virginica",
)
config = dict(
    {
        "scrollZoom": True,
        "displayModeBar": True,
        # 'editable'              : True,
        "modeBarButtonsToAdd": [
            "drawline",
            "drawopenpath",
            "drawclosedpath",
            "drawcircle",
            "drawrect",
            "eraseshape",
        ],
        "toImageButtonOptions": {"format": "svg"},
    }
)

st.plotly_chart(fig, config=config)

Output:
plotly-erase

Happy Streamlit’ing! :balloon:
Snehan

I don’t why it works, but it does ! I was under the impression that bool should be True.