I have added some shapes to my figure:
import plotly.graph_objs as go
fig = go.Figure()
for i in range(5):
fig.add_shape(type="circle", xref="x", yref="y", x0=i*5, y0=-1, x1=i*5+4, y1=2,name='shape')
how can I add legend for them? [for example ‘circles’ ]
It is not possible to add legend items to shapes, unfortunately. Do you want it to be able to control the visibility of each shape or just “to give them a label”? There are workarounds for both, I think…
Thanks for your guidance
I don’t know how did you read my mind???
Exactly I want to make all the shapes as a group of shapes and with a click on legend (or something like that) hide them!
You can adapt this example with custom buttons in this case:
Again Thanks @jlfsjunior
I can draw circles with scatter and then I have many options in this way (like legend and …) . I think plotly tries to force users to use scatter or 3Dscatter instead of all other methods. Am I thinking correct?
I understand what you are saying by “forcing”. Perhaps it is better to put this way: shapes are for annotation purposes, not to display data.
That said, I don’t see how you can make a circle using scatter: you can make a polygon by connect N points, but a circle needs N \to \infty…