使用Plotly.update()更新跟踪的'x'和'y'值

问题描述 投票:2回答:1

是否可以使用x更新跟踪的yPlotly.update()属性?

更新跟踪的Plotly.update()属性效果很好。但是,当我尝试更新marker.colorx属性时,轨迹将从图中消失。而且没有迹象表明控制台中出现了问题。我想更新值[[通过跟踪索引,并且更新功能看起来像正确的工具。

y的文档中可能有一个线索:

重要说明:为了使用此方法在Plotly.react()下的数组中绘制新项,例如Plotly.react()data等,这些项必须是不变添加的(即,父数组的标识必须具有已更改)或x的值必须已更改。

尽管这可能是完全无关的,因为我

am

能够使用marker.color更新layout.datarevision而不会碰到layout.datarevision运行示例:

(codepen示例marker.color

Plotly.update()
layout.datarevision

注:我也是here,但没有得到任何答复。也许这里有人知道。

javascript plotly plotly.js
1个回答
0
投票
数据更新对象接受一个数组,其中包含要更新的每个跟踪的新x / y值的数组。即如果您只想更新一个跟踪,则仍必须提供一个包含该跟踪的数组的数组:let myPlot = document.getElementById("graph"); let trace = { type: 'scatter', x: [0.5 * 255], y: [0.5 * 255], hoverinfo: "skip", mode: 'markers', marker: {color: "DarkSlateGrey", size: 20}, }; let layout = { title: "The Worm Hole", yaxis: { range: [0, 255] }, xaxis: { range: [0, 255] }, }; let config = {responsive: true}; Plotly.newPlot(myPlot, [trace], layout, config); function updateGraphPoint(cmd) { let x = Math.random() * 255; let y = Math.random() * 255; let z = Math.random() * 255; let update = null; if (cmd === "color") { update = {'marker.color': `rgb(${x}, ${y}, ${z})`}; } else if (cmd === "position") { update = {'x': [x], 'y': [y]}; } Plotly.update(myPlot, update, {}, [0]); }

<script src="https://cdn.plot.ly/plotly-latest.min.js"></script> <button onclick="updateGraphPoint('color')">Change my color!</button> <button onclick="updateGraphPoint('position')">Change my position!</button> <div id="graph"></div>
asked this question on the the plotly community forum
© www.soinside.com 2019 - 2024. All rights reserved.