【问题标题】:Highchart : Json Array For ToolTipHighchart:工具提示的 Json 数组
【发布时间】:2015-09-09 02:38:58
【问题描述】:

我有一个如下的 Json 数组:

[{"label":"08\/09\/2015 03:15:49 AM","y":0.6,"y1":0.3,"y2":"0.3(XYZ)","y3":"0.6(XYZ)"},
 {"label":"03\/09\/2015 04:23:04 AM","y":0.2,"y1":0.4,"y2":0.4,"y3":0.2},
 {"label":"02\/09\/2015 12:50:56 AM","y":0.4,"y1":0.4,"y2(XYZ)":0.4,"y3":0.4}]

我在 HighChart 中的 javascript 代码如下:

    for (var i = 0; i < length; i++) {
        dataXAxis.push(obj[i].label);
        dataPointsLeft.push(obj[i].y);
        dataPointsRight.push(obj[i].y1);
        dataPointsLeft1.push(obj[i].y2);
        dataPointsRight1.push(obj[i].y3);
    }

     $('#xyz').highcharts({
            title: {
                text: "Demo",
                x: -20 //center
            },
            xAxis: {
                categories: dataXAxis
            },
            tooltip: {
                useHTML: true,
                shared: true
            },
            series: [{
                    name: "X",
                    data: dataPointsRight,
                    color: '#FF0000'
                }, {
                    name: "Y",
                    data: dataPointsLeft,
                    color: '#0000FF'
                }]
        });

现在我的问题是我想在 ToolTip 中显示“dataPointsLeft1”数组。 现在我的工具提示显示与 dataPointsLeft 数据相同,但我想要来自“dataPointsLeft1”数组的工具提示数据。 请尽快提出建议。

谢谢。

【问题讨论】:

    标签: javascript jquery json highcharts


    【解决方案1】:

    推送时这样使用:

        dataPointsLeft.push({y: obj[i].y, custom: obj[i].y1}); 
        dataPointsRight.push({y: obj[i].y1, custom: obj[i].y3}); 
    

    在工具提示中你可以使用

     tooltip: {              
         formatter: function () { 
              var series = this.series;
             return this.point.custom;
          }
      } 
    

    请参阅https://jsfiddle.net/Nishith/gjezx1kq/ 的小提琴

    【讨论】:

    • 如果我将鼠标悬停在同一点上然后它同时显示两个值,我需要做什么?例如,如果我将鼠标悬停在“X”点上,那么它会同时显示“X”和“Y”值。而且,如果我将鼠标悬停在“Y”点上,那么它也会同时显示相同点的“X”和“Y”值。请尽快提出建议。
    • @ChetanNakum 两个值?表示 Y 和 Y1 ?
    • 不,是 Y1 和 Y3。例如,如果我将鼠标悬停在“X”点上,则显示如下: X : 0.6 (XYZ) Y : 0.3 如果我将鼠标悬停在“Y”点上,那么它也显示如下: X : 0.6 (XYZ) Y : 0.3
    • 使用 return this.y +" 和"+this.point.custom;在jsfiddle.net/Nishith/gjezx1kq/1查看更新的小提琴
    • 感谢您的回复,但我想要这样的结果:X:0.6 (XYZ) Y:0.3 在鼠标悬停的任何点(“X”或“Y”)。请尽快提出建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多