模拟多个点击函数,或者根据低于或高于 dataMin 和 dataMax - 高图表的特定区域具有单独的点击值



我正在使用高图表中的高库存。

我想根据单击的图表区域捕获最小值和最大值。

假设我当前的图形实例在 1-100 个数据集的范围内最小值为 15,最大值为 80。 现在,如果我单击低于 15 的任何区域,我应该能够在代码中设置最小值。所以我可能想做点什么

click: function(e) {
ctrl.minSelected = e.yAxis[0].value;
}

同样,如果我单击值 80 以上的区域,我想触发相同或另一个单击处理程序来捕获我的最大值。

首先,这在高图表中可能吗?如果是,请指导,否则让我知道我可以做到这一点吗?谢谢!

我做了一个非常基本的例子,展示了如何获得你需要的值。从这里开始,实际的代码和逻辑应该不会太难弄清楚。

以下代码将为您提供单击的 yValue,以及控制台中的当前极值。工作小提琴

chart: {
events: {
click: function (event) {
console.log(event.yAxis[0].value);
console.log(chart.yAxis[0].getExtremes());
this.update({yAxis: {max: event.yAxis[0].value}}) 
}
}
}

再解释一下:

event.yAxis[0].value根据 yAxis 给出 yValue,请参阅 chart.events.click 上的 API。

chart.yAxis[0].getExtremes()给出了 yAxis 极值,包括图形区域极值和数据(点(极值,请参阅 Axis.getExtreme 上的 API

this.update这是指图表,更新允许您更新图表上可能想要的任何内容,请参阅 Chart.update 上的 API。在这里,我们使用它来将 yAxis max 设置为单击的位置的值。

只需通过设置zoomType属性"x"、"y"或"xy"来启用缩放。您可以在selection事件中获取所选区域的最小值和最大值。

API 参考:
http://api.highcharts.com/highcharts/chart.zoomType
http://api.highcharts.com/highcharts/chart.events.selection

示例:
http://jsfiddle.net/uLsx8pz6/

最新更新