Is it possible to update the ‘x’ and ‘y’ values of a trace using the Plotly.update
function?
Codpen example here: https://codepen.io/jjengland/pen/BaNrKye
let myPlot = document.getElementById("graph");
// set up plot here...
function updateGraphPoint() {
let x = Math.random() * 255;
let y = Math.random() * 255;
let z = Math.random() * 255;
console.log(`x=${x} y=${y} z=${z}`);
// let update = {'x': [x], 'y': [y]};
let update = {'marker.color': `rgb(${x}, ${y}, ${z})`};
Plotly.update(myPlot, update, {}, [0]);
}
The example works as shown. But when I switch which let update = ...
line is commented out, the trace I’m trying to update disappears from the graph. And there is no indication that something went wrong in the console. How would I update the ‘x’ and ‘y’ of the trace?
I have it set up this way because I need to update the values of ‘x’ and ‘y’ by trace index in my real application.
Update: There may be a clue in the documentation for Plotly.react()
:
Important Note: In order to use this method to plot new items in arrays under
data
such asx
ormarker.color
etc, these items must either have been added immutably (i.e. the identity of the parent array must have changed) or the value oflayout.datarevision
must have changed.
Though this may the complete unrelated because I am able to update marker.color
using Plotly.update()
without bumping the layout.datarevision
.