Highcharts 小部件,带有基于 Thingspeak 数据的文本输出

Highcharts widget with text output that is based on data from Thingspeak

提问人:Cooky 提问时间:11/12/2023 更新时间:11/14/2023 访问量:24

问:

我已经使用高图表工作了一段时间,根据从测量中获取的数据来可视化列、线。

现在,我正在努力寻找一种方法,根据输入数据在小部件中显示预定义的“文本”。

例: 降雨强度数据从0到0.1 -->短信应为“低雨”, 降雨强度数据将为 0.2 到 1.0 -->同一小部件中的文本消息将更改为“中雨”等。

有没有人可以提示如何解决这个问题?同样,我不需要图形、条形图、仪表......只需要一个框中的文本,该文本根据测量数据显示变量。谢谢你的任何提示!

我已经筛选了网络,但到目前为止只能找到静态附加到图表中值的标签定义或文本标签。

HighCharts 小部件

评论

0赞 ppotaczek 11/13/2023
嗨@Cooky,您想在图表上显示文本吗?如果是这样,您可能正在寻找类似注释的东西: highcharts.com/docs/advanced-chart-features/annotations-module 如果没有,请添加有关您的要求的更多信息。
0赞 Cooky 11/14/2023
尊敬的@ppotaczek - 非常感谢您的回答。在此类示例中,注释或标签被固定为输入(正确?),但不是动态的,具体取决于值。为了解释我的想法,我附上了 PDF,它仅将我预期的小部件描述为文本。感谢您的共同创造;-)
0赞 Cooky 11/14/2023
对不起,PDF 不起作用 - 仅文本:**** 用于在图表中显示数据,例如仪表 *** $.getJSON('api.thingspeak.com/channels/xxxxx/fields/field1/...', function(data) { console.log(data) var point = chartSpeed.series[0].points[0] point.update(parseFloat(data.field1));  什么有效: 到目前为止,我在这里得到一个像 0.5 这样的浮点值 基于此数据,通话短信将显示在小部件中: If (point.update < 0.1) { Text variable_1 = “低雨” } If (point.update > 0.1 和 < 0.5) { Text_variable_1 = “中雨” }
0赞 Cooky 11/14/2023
@ppotaczek - 现在我更接近了一点:jsfiddle.net/BlackLabel/n3L08h96 这把小提琴包含了一个 colum 的自定义文本。我更改了小提琴中的代码,并设法根据 1 或 0 als Wert 切换文本。但似乎不正确,因为我需要根据数据范围使用它。有什么想法吗?(见下一部分)
0赞 Cooky 11/14/2023
Highcharts.chart('container', { chart: { type: 'column' }, plotOptions: { column: { dataLabels: { enabled: true, verticalAlign: 'top', align: 'center', formatter() { Wert = 0; if (Wert) { return '我的自定义文本可以很长' } else { return '我的文本可以短' } } } } }, series: [{ data: [0] }] });

答:

0赞 ppotaczek 11/14/2023 #1

您可以根据值设置数据标签的格式。例如:y

  plotOptions: {
    bar: {
      dataLabels: {
        ...,
        formatter() {
          if (this.y <= 0.1) {
            return 'low rain';
          } else if (this.y <= 1) {
            return 'medium rain';
          } else {
            return 'heavy rain';
          }
        }
      }
    }
  }

现场演示:https://jsfiddle.net/BlackLabel/yxq6dcLk/

API 参考:https://api.highcharts.com/highcharts/plotOptions.bar.dataLabels.formatter

评论

0赞 Cooky 11/15/2023
这么好的提示..通过同心病和漫长的夜晚;-)我已经找到了自己的格式化 jsfiddle.net/f70axkx0 起点,并按照您上面描述的方式对其进行了修改。因此,我自己创建的小部件现在正在运行实时数据,并且在更改绘图选项、颜色、...仅文本,具体取决于实时数据。再次非常感谢你。任何需要类似解决方案的人请与我联系 - 我可以分享。问候!我/我们可以关闭此聊天。