绘制“参考:”值的变化

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

我想更改 ESP32 代码中仪表上“参考”标签的值。 仪表:

var humidityData = [
  {
    domain: { x: [0, 1], y: [0, 1] },
    value: 0,
    title: { text: "Feuchtigkeit" },
    type: "indicator",
    mode: "gauge+number+delta",
    delta: { reference: 69 },
    gauge: {
      axis: { range: [40, 103] },
      steps: [
        { range: [10, 65], color: "red" },
        { range: [65, 68], color: "yellow" },
        { range: [68, 75], color: "lightgreen" },
        { range: [75, 78], color: "yellow" },
        { range: [78, 103], color: "red" },
      ],
    },
  },
];

应该更新参考的代码:

function updateGauge(temperature, humidity, humidity_soll) {
  var temperature_update = {
    value: temperature,
  };
  var humidity_update = {
    value: humidity,
    reference: humidity_soll,
  };
  Plotly.update(temperatureGaugeDiv, temperature_update);
  Plotly.update(humidityGaugeDiv, humidity_update);
}

但参考仍然是最初的参考。该函数不会使用我正确移交的 json 中的新值来更新它。 更改简单的“value”标签没有问题。但“参考”标签没有更新。也许我必须用另一种方式来做这件事? 对我有什么建议吗? 到目前为止,这是我第一次实现plotly.io。 很抱歉这个菜鸟问题......

亲切的问候 弗兰克

javascript html plotly plotly.js
1个回答
0
投票

您尝试通过在更新对象的顶层传递新的参考值来更新仪表。但是,Plotly 希望参考值嵌套在 delta 属性下,与您第一次定义图表时使用的结构相匹配,因此您需要使用

'delta.reference'
作为键。

function updateGauge(temperature, humidity, humidity_soll) {
  var temperature_update = {
    value: temperature,
  };

  var humidity_update = {
    value: humidity,
    'delta.reference': humidity_soll,
  };

  Plotly.update(temperatureGaugeDiv, [temperature_update]);
  Plotly.update(humidityGaugeDiv, [humidity_update]);
}
© www.soinside.com 2019 - 2024. All rights reserved.