jquery - axis.extremes.userMin 和 userMax 在使用多个图表重绘时未定义

标签 jquery javascript highcharts

我正在尝试在 highstock slider 移动时绘制一个饼图

首先,一切正常,我按照预期获得了 highStock 的 axis.extremes.userMinuserMax

代码

    var extremes = chart.xAxis[0].getExtremes();
    console.log(extremes);
    console.log(chart.xAxis[0]);
    console.log("userMin = " + extremes.userMin);
    console.log("userMax = " + extremes.userMax);

但是,一旦绘制了饼图,我就会得到上面的值,如在控制台中看到的未定义。是什么原因导致的或者我如何获得userMin/userMax

<强> jsFiddle Demo

最佳答案

您似乎正在覆盖您的图表变量。 Use a different variable for the pie and the stock chart.

就您而言,您也可以use this inside the chart.events.redraw指向处理程序中的当前(其偶数正在处理)图表。 Demo @ jsFiddle

redraw: function (event) {
    if (this.xAxis) {
        var extremes = this.xAxis[0].getExtremes();    
        console.log(extremes);
        console.log(chart.xAxis[0]);
        console.log("userMin = " + extremes.userMin);
        console.log("userMax = " + extremes.userMax);
        drawPie();

    }
}
<小时/>

处理用例的更好或更正确的方法是将处理程序附加到 xAxis.events.setExtremes事件而不是 chart.events.redraw 事件,因为您想在 slider 的滑动上执行某些操作。

如文档中所示,事件对象包含新的最小值和最大值,如 event.minevent.max 以及 this代表处理程序内的轴。
这就是您的代码的样子

       xAxis: [
            {
            events: {
                setExtremes: function(event) {
                        console.log(this);
                        console.log("userMin = " + event.min);
                        console.log("userMax = " + event.max);
                        drawPie();                       
                }
            }}
        ],

Handling slider events @ jsFiddle

关于jquery - axis.extremes.userMin 和 userMax 在使用多个图表重绘时未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12535594/

相关文章:

javascript - PHP While 循环中的 jQuery

javascript - 如何使用jquery显示子数组中的特定数据?

jquery - Jquery如何获取 parent sibling 的内容

javascript - 面向对象和非面向对象 JavaScript 的区别

javascript - 如何更改单击时按钮的类别

javascript - Vuejs - 希望从 html 中调用具有数据属性的函数

javascript - 在 JavaScript 中创建一些关联数组

javascript - 如何动态更改 Highchart 列颜色

javascript - 未捕获的类型错误 : Object [object Object] has no method 'getElementsByTagName' in Highcharts

javascript - Highcharts 更改系列类型而不更改数据标签