gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 20:50:33 25 4
gpt4 key购买 nike

我正在尝试在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com