Javascript 动态图表工作不正常(highcharts)?
我遇到的问题是,与蓝线相比,黑线做了一些时髦的事情。如果你在中间或其他地方滚动(使用底部滚动工具),你可以清楚地看到黑线正在改变它的形状,而蓝色线保持其形状,奇怪。这仅在使用滚动工具时发生 如何防止黑线改变其形状?复制此代码并将其替换为JSFIDLE以查看问题:Javascript 动态图表工作不正常(highcharts)?,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我遇到的问题是,与蓝线相比,黑线做了一些时髦的事情。如果你在中间或其他地方滚动(使用底部滚动工具),你可以清楚地看到黑线正在改变它的形状,而蓝色线保持其形状,奇怪。这仅在使用滚动工具时发生 如何防止黑线改变其形状?复制此代码并将其替换为JSFIDLE以查看问题: $(function () { Highcharts.setOptions({ global : { useUTC : false } }); // Cr
$(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,我会继续这样做吗?当然。只有第一辑似乎与其他不同。对不起,我是这个论坛的新手,我已经给你的答案打分了。谢谢:)