0

我在单个图形中显示两条线,每秒更新它们,并使用保存到全局变量中的值(两者都有不同的全局变量)。可以在此处找到代码示例:jsFiddle 示例

正如您所看到的,这两条线彼此重叠,即使它们在添加ymin和时具有不同的值ymax(您可以在控制台中看到这一点)。

原因似乎在第一个 addPoint 调用中(第 118 行)。如果第一个布尔值设置为 true(如第二个 addPoint 调用),则行正确显示但动画错误:jsFiddle example

有谁知道为什么这些线条彼此重叠,而它们的值明显不同?更重要的是:如何在保持流畅动画的同时解决这个问题?

上一个(可能相关的)问题:向区间上的两条线添加值时图表没有流畅移动

4

2 回答 2

1

问题在于对两个系列使用相同的变量emptyarray。这是 Highcharts 的已知问题(在 github 上报道),Highcharts 会覆盖传递给图表的一些选项。可能的解决方案是使用将返回该空数组的函数,例如:

    function generateArray(){
        var emptyarray = [],
            time = (new Date()).getTime(),
            i;

        for (i = -50; i <= 0; i++) {
            emptyarray.push({
                x: time + i * 1000,
                y: 230
            });
        }
        return emptyarray;
    }

    chartinfo.series = [{
        name: 'Minimum Voltage',
        data: generateArray(),
        color: '#FFFFDD'
    }, {
        name: 'Maximum Voltage',
        data: generateArray(),
        color: '#B72E8D'
    }];

工作 jsFiddle:http: //jsfiddle.net/XAHa4/2/

于 2013-06-05T12:22:01.203 回答
0

您的函数看起来很奇怪setInerval,因为缩小的示例http://jsfiddle.net/DxqUj/可以正常工作。

于 2013-06-05T12:44:59.460 回答