Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态图表工作不正常(highcharts)?_Javascript_Jquery_Highcharts - Fatal编程技术网

Javascript 动态图表工作不正常(highcharts)?

Javascript 动态图表工作不正常(highcharts)?,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我遇到的问题是,与蓝线相比,黑线做了一些时髦的事情。如果你在中间或其他地方滚动(使用底部滚动工具),你可以清楚地看到黑线正在改变它的形状,而蓝色线保持其形状,奇怪。这仅在使用滚动工具时发生 如何防止黑线改变其形状?复制此代码并将其替换为JSFIDLE以查看问题: $(function () { Highcharts.setOptions({ global : { useUTC : false } }); // Cr

我遇到的问题是,与蓝线相比,黑线做了一些时髦的事情。如果你在中间或其他地方滚动(使用底部滚动工具),你可以清楚地看到黑线正在改变它的形状,而蓝色线保持其形状,奇怪。这仅在使用滚动工具时发生

如何防止黑线改变其形状?复制此代码并将其替换为JSFIDLE以查看问题:

$(function () {

    Highcharts.setOptions({
        global : {
            useUTC : false
        }
    });
    // Create the chart
    $('#container').highcharts('StockChart', {
        chart : {
            events : {
                load : function () {

                    // set up the updating of the chart each second
                    var series = this.series[0];
                    setInterval(function () {
                        var x = (new Date()).getTime(), // current time
                            y = Math.round(Math.random() * 100);
                        series.addPoint([x, y], true, true);
                    }, 1000);

                    var series1 = this.series[1];
                    setInterval(function () {
                        var x = (new Date()).getTime(), // current time
                            y = Math.round(Math.random() * 100);
                        series1.addPoint([x, y], true, true);
                    }, 1000);
                }
            }
        },

        rangeSelector: {
            buttons: [{
                count: 1,
                type: 'minute',
                text: '1M'
            }, {
                count: 5,
                type: 'minute',
                text: '5M'
            }, {
                type: 'all',
                text: 'All'
            }],
            inputEnabled: false,
            selected: 0
        },

        title : {
            text : 'Live random data'
        },

        exporting: {
            enabled: false
        },

        series : [{
            name : 'diagram1',
            data : (function () {
                // generate an array of random data
                var data1 = [], time = (new Date()).getTime(), i;

                for (i = -999; i <= 0; i += 1) {
                    data1.push([
                        time + i * 1000,
                        Math.round(Math.random() * 100)
                    ]);
                }
                return data1;
            }())
        },
        {
            name : 'diagram2',
            data : (function () {
                // generate an array of random data
                var data2 = [], time = (new Date()).getTime(), i;

                for (i = -999; i <= 0; i += 1) {
                    data2.push([
                        time + i * 1000,
                        Math.round(Math.random() * 100)
                    ]);
                }
                return data2;
            }())
        }]
    });

});
$(函数(){
Highcharts.setOptions({
全球:{
useUTC:false
}
});
//创建图表
$(“#容器”).highcharts('StockChart'{
图表:{
活动:{
加载:函数(){
//设置图表的每秒更新
var系列=本系列[0];
setInterval(函数(){
var x=(新日期()).getTime(),//当前时间
y=数学圆(数学随机()*100);
系列。添加点([x,y],真,真);
}, 1000);
var series1=本系列[1];
setInterval(函数(){
var x=(新日期()).getTime(),//当前时间
y=数学圆(数学随机()*100);
系列1.添加点([x,y],真,真);
}, 1000);
}
}
},
范围选择器:{
按钮:[{
计数:1,
键入:“分钟”,
文字:“1M”
}, {
计数:5,
键入:“分钟”,
文字:“5M”
}, {
键入:“全部”,
文字:“全部”
}],
输入:错误,
已选:0
},
标题:{
文本:“实时随机数据”
},
出口:{
已启用:false
},
系列:[{
名称:“图1”,
数据:(函数(){
//生成一个随机数据数组
var data1=[],time=(new Date()).getTime(),i;

对于(i=-999;i黑线移动的原因是图表的重画和动画功能。出于某种原因,第一个系列(蓝线)调用
addPoint
后不显示动画,因此看不到移动。
addPoint
函数中的第二个参数是
重画
。将第二个系列(黑线)设置为false将在更新点时停止移动:

series1.addPoint([x, y], false, true);

以下是。

@PawełFus你能解释一下为什么第一个系列在更新点时没有动画,或者为什么第二个系列会这样做吗?如果我用[…,false,true]添加系列2,系列3,系列4,我会继续这样做吗?当然。只有第一辑似乎与其他不同。对不起,我是这个论坛的新手,我已经给你的答案打分了。谢谢:)