如何将自定义数据传递到Highcharts图形单击事件

时间:2014-08-11 03:18:31

标签: javascript jquery highcharts

渲染Highcharts图表时可以传递自定义数据(在这种情况下是漏斗),这样当我绑定click事件时,我可以使用这个自定义数据点吗?

目前,我所能得到的只是"名称"我为Label提供的event.point.name,但我也希望传递song_id

http://jsfiddle.net/y4a2end3/1/

图表代码中是否有地方可以添加其他数据点,例如" song_id"?

    series: [{
        name: 'Song Plays',
        data: [
           ['song_name1',123, 'song_id_1'], /* song_id_1 would be the custom data */
           ['song_name2',234, 'song_id_2']
        ]
    }]

2 个答案:

答案 0 :(得分:4)

如果要将附加数据附加到系列中的点,可以将需要其他数据的点初始化为对象而不是数组/整数。例如,使用您的代码可以执行以下操作:

series: [{
    name: 'Song Plays',
    data: [
       {x:'song_name1', y:123, songid:'song_id_1'},
       {x:'song_name2', y:234, songid:'song_id_2'}
    ]
}]

然后,您可以点击event.point.songid点击它。使用点击和工具提示查看this JSFiddle demo

请注意,在许多情况下,不需要对象中的x。它通常是自动的和顺序的。

答案 1 :(得分:2)

你可以尝试

alert(event.point.series.userOptions.data[event.point.x][2])

更新了小提琴:http://jsfiddle.net/y4a2end3/2/

或者这个:

alert(event.point.series.userOptions.data[event.point.series.data.indexOf(event.point)][2]);