使用Thingspeak来源的Highstock / Highcharts中每行的后缀不同

时间:2018-10-25 08:09:11

标签: highcharts iot

我从这里获得了结合了Thingspeak的Highcharts代码:

https://forum.arduino.cc/index.php?topic=213058.0

我的问题是,我无法在代码中实现不同的后缀:-(。我已经尝试了很多,但是我不理解Java代码背后的机制。

我尝试了一些事情,但是结果是,我只有一个数据字段用于第一个系列,而没有其他字段...

格式化程序功能在第246行上。 我在286行上的其他yAxies。 格式化程序如何确定实际系列使用哪些yAxies?

也许有人乐于帮助我?

http://jsfiddle.net/cbmj8rku/

最诚挚的问候,大卫

2 个答案:

答案 0 :(得分:0)

每个系列都分配给一个yAxis。您可以检测哪个系列使用哪个轴,例如通过轴标题:

tooltip: {
    formatter: function() {
        var points = this.points,
            title,
            result = '';

        Highcharts.each(points, function(p) {
            result += p.y;
            title = p.series.yAxis.axisTitle.textStr;

            if (title === 'yAxis1') {
                result += 'suffix1<br>'
            } else if (title === 'yAxis1') {
                result += 'suffix2<br>'
            } else {
                result += 'suffix2<br>'
            }
        });

        return result
    }
}

实时演示:http://jsfiddle.net/BlackLabel/ncvtxoke/

答案 1 :(得分:0)

我更改了这样的代码: http://jsfiddle.net/cbmj8rku/20/

              formatter: function() {
            var d = new Date(this.x + (myOffset*60000));
            var _Min = (d.getMinutes()<10) ? '0' + d.getMinutes() : d.getMinutes();
            var _Sec = (d.getSeconds()<10) ? '0' + d.getSeconds() : d.getSeconds();
            var s = d.getHours() + ':' + _Min + ':' + _Sec + '<br/>';

            $.each(this.points, function () {
              s += '<br/>' + this.series.name + ' <b>' + this.y + this.series.yAxis.userOptions.labels.suffix + '</b>';this.series.tooltipOptions.valueSuffix[this.point.index];
            });

            return s;
          }