使用Highcharts按ID选择一个点

时间:2012-10-03 22:14:17

标签: javascript highcharts

使用Highcharts,如何使用它的id选择一个点?例如,如果我使用以下代码创建图表:

 chart1 = new Highcharts.Chart({
         chart: {
            renderTo: 'container',
            type: 'scatter'
         },
         title: {
            text: 'Fruit Consumption'
         },
         xAxis: {
            categories: ['Apples', 'Bananas', 'Oranges']
         },
         yAxis: {
            title: {
               text: 'Fruit eaten'
            }
         },
         series: [{
            name: 'Jane',
            data: [{
                name: 'Point1',
                x: 1,
                y: 2
            }, {
                name: 'Point2',
                x: 2,
                y: 5
            }]
         }, {
            name: 'John',
            data: [5, 7, 3]
         }]
      });
   });

工具提示告诉我,当我将鼠标悬停在一个点上时,id是什么。但是,我无法弄清楚识别这一点的语法。我知道chart1.series[0].name会返回Jane. Also, chart1.series [0] .data [0] .name returns point1`有没有一种简单的方法可以选择点并改变颜色只知道'point1'?

我想知道除了每次循环所有点之外是否还有更有效的方式。

1 个答案:

答案 0 :(得分:9)

您可以为要获得的每个点设置id

series: [{
    name: 'Jane',
    data: [{
        'name': 'Point1',
        'id': 'point1',
        'x': 1,
        'y': 2
    }, {
        'name': 'Point2',
        'id': 'point2',
        'x': 2,
        'y': 5
    }]
}, {
    name: 'John',
    data: [5, 7, 3]
}]

然后你可以通过以下代码得到这一点。

// assuming that chart is your chart var
chart.get('point1');

demo

或者,如果您不想设置id,则可以使用简单的循环句点points来比较您要查找的namepoint name

参考