Updating a figure made using Plotly

  • Context: Python 
  • Thread starter Thread starter Swamp Thing
  • Start date Start date
  • Tags Tags
    Figure
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 2K views
Swamp Thing
Insights Author
Messages
1,062
Reaction score
819
TL;DR
I'm trying to update a plotly graph with new data:
f1.update_traces(y=[4,3,2,1])
Nothing happens.
After making a graph using Plotly in Python, I'd like to change the data. From the documentation (which is not very clear) it appears this is the code we need:

f1.update_traces( y=[4,3,2,1] )
(where f1 is the figure created previously).

But nothing happens when I run this.

In order to see the new data, I find that I need to do f1.show() after the above step. The problem with this is that it shows a new plot rather than changing the old one, so each time I change the data it goes into a new plot.

So I guess my big-picture question is, using Python in Google Colab, how can I change attributes (including data) of an existing plot in situ?
 
Physics news on Phys.org
pbuk said:
You should be able to just modify the data in place:
Python:
f1.data[0].y = [4, 3, 2, 1]

I've tried that too.
Python:
f1.data[0].y=[7,6,5,9]
print(f1.data[0])

The output from the print statement shows that the 'y' array has been written into correctly:
Code:
Scatter({
    'uid': '289cc751-4c63-4126-8235-82c69798e9d6', 'x': [2, 3, 4, 5], 'y': [7, 6, 5, 9]
})

... but the plot doesn't reflect the change.

Are you using Python in a notebook? I'm using Google Colab, which perhaps doesn't support live updating of plots...
 
Swamp Thing said:
I'm using Google Colab, which perhaps doesn't support live updating of plots...
No it doesn't, at least not in the same way as a 'normal' Jupyter notebook does.
 
Reply
  • Informative
Likes   Reactions: Swamp Thing