Assign "Download plot as a png" value to Variable
Bug (or Feature Request?):
I want to get the annotated image after I used drawrect. The only possible way, for now, is using the Download plot as a png button, save it on pc, read it. Is there a straightforward way to do that?
I mark it as a bug (or maybe it's the intended behavior by the developer) because fig.to_image(format="png", engine="kaleido") return the original image, not the annotated one.
Note: I'm using a jupyter notebook
import plotly.graph_objects as go
fig = go.Figure(data=go.Bar(y=[2, 3, 1]))
config = dict({
'modeBarButtonsToAdd':[
'drawrect',
'eraseshape',
],
'modeBarButtonsToRemove':[
'toggleSpikelines','hoverCompareCartesian'
]
})
fig.show(config=config)

do some annotations...

then run:
import numpy as np
import cv2
import matplotlib.pyplot as plt
annotate_image = fig.to_image(format="png", engine="kaleido")
nparr = np.frombuffer(annotate_image, np.uint8)
img_numpy = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
plt.imshow(img_numpy[...,::-1])

The plt.imshow(img_numpy[...,::-1]) will show the original image, not the annotated image. How to use fig.to_image(format="png", engine="kaleido") to include the annotation of drawrect? Or any workaourd?
Hi - we are trying to tidy up the stale issues and PRs in Plotly's public repositories so that we can focus on things that are still important to our community. Since this one has been sitting for several years, I'm going to close it; if it is still a concern, please add a comment letting us know what recent version of our software you've checked it with so that I can reopen it and add it to our backlog. Thanks for your help - @gvwilson
Okay, let's make it simple.
Please support Download plot as png as method for the figure.
Something like:
annotate_image = fig.download_image(format="png", engine="kaleido")
SInce:
annotate_image = fig.to_image(format="png", engine="kaleido")
Only convert original plot without the annotation.