Highcharts 单击返回xAxis类别
我似乎无法从图表本身的单击事件返回的Highchart中获取类别。换句话说,这很好:Highcharts 单击返回xAxis类别,highcharts,Highcharts,我似乎无法从图表本身的单击事件返回的Highchart中获取类别。换句话说,这很好: plotOptions: { series: { events: { click: function(ev) { console.log(ev.point.category); // outputs category } } } } 然而,我希望的是,当用户点击图表上的任何地方时,能够得到类别,而不仅仅是点击点。它看起来像这样 chart:
plotOptions: {
series: {
events: {
click: function(ev) {
console.log(ev.point.category); // outputs category
}
}
}
}
然而,我希望的是,当用户点击图表上的任何地方时,能够得到类别,而不仅仅是点击点。它看起来像这样
chart: {
events: {
click: function(ev) {
console.log(ev.xAxis[0].category); // undefined because doesn't exist - sure would be nice, tho
}
}
}
我在这里梳理了event和highcharts对象,但没有找到如何识别哪个类别与返回的x值关联。您可以获得位置x值并映射到类别。例如:
click:function(e){
alert('x: ' + categories[Math.floor(e.xAxis[0].value)]);
}
我不明白你想做什么。当你点击图表上的某个地方时,你想得到最近点的类别吗?这肯定是一种思考的方式。我在更抽象地思考,x值可以直接映射到类别(例如1-100=1月,101-200=2月,201-300=3月),但这可能不是解决方案所在。谢谢你,塞巴斯蒂安!看起来答案只需要稍加修改-如果将
楼层
更改为轮
,它将返回正确的值。使用floor
,它返回两个点之间的类别,这意味着当您单击“Feb”左侧时,它将返回“Jan”,当您单击“Jan”左侧时,它将返回“undefined”。一切由您决定;)的确,轮更好些。round()
不仅更好,还必须是round()
。因为带有floor()
的答案返回了错误的类别。