Javascript 无法将点添加到highchart区域
我使用highchart js来可视化我的数据,类别是一个时间戳数组(以毫秒为单位),它工作得很好,但是我需要使它实时,每20秒更新一次 我试图使用highchart提供的addPoint函数将新点添加到当前图表中,我得到了一个错误www.highcharts.com/errors/19,它说 滴答声太多 如果尝试对轴应用过多的记号,则会发生此错误, 特别是当添加的标记数超过轴像素长度时。在里面 实际上,添加如此密集的蜱虫使其 彼此无法区分。错误的一个原因可能是 设置的时间间隔对于数据值来说太小 范围总的来说,tickPixelInterval是一个更好的选择 自动处理这个问题。另一种情况是,如果您试图设置 日期时间轴上的类别,这将导致高图 自1970年以来每毫秒增加一个刻度 这是我的小提琴Javascript 无法将点添加到highchart区域,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我使用highchart js来可视化我的数据,类别是一个时间戳数组(以毫秒为单位),它工作得很好,但是我需要使它实时,每20秒更新一次 我试图使用highchart提供的addPoint函数将新点添加到当前图表中,我得到了一个错误www.highcharts.com/errors/19,它说 滴答声太多 如果尝试对轴应用过多的记号,则会发生此错误, 特别是当添加的标记数超过轴像素长度时。在里面 实际上,添加如此密集的蜱虫使其 彼此无法区分。错误的一个原因可能是 设置的时间间隔对于数据值来说太小
请帮助检查如何将新点添加到图表中,此外,我认为我们应该为xAxis使用type is datetime,但如果您能提供解决方案,我不知道如何使用。我已经阅读了JSFIDLE的代码,似乎您已经在一个JS中编写了整个代码。我还在我们的应用程序中使用highcharts,并在提供thruput值(每2秒上传/下载一次)方面付出了很多努力。我们所做的是使用对象文字方法。我们将代码放在一个js中,js包含很少的功能,比如init(初始化值并使用new动态创建图表对象) 然后可以从另一个js(例如init函数)初始化ur myplot的obejct 并使用myplot对象调用后续函数。 我希望这对你有帮助
Regds问题在于,您将分类xAxis与日期时间xAxis混合在一起 类别在显示某些..时很有用。。xAxis上的类别。比如水果、汽车、网络共享等等 在您的情况下,应该从一开始就使用datetime。您应该更改:
- 从xAxis中删除类别
- 将
与类别
和站点1
连接,例如:站点2
for(var i = 0; i < site1.length; i++){ site1[i] = [ categories[i], site1[i] ]; site2[i] = [ categories[i], site2[i] ]; }
for(变量i=0;i
现场演示:您想根据您的建议帮助我创建另一个JSFIDLE吗?我添加了一个函数。请删除//再添加20秒var x=series1.points[series1.points.length-1]。类别+20*1000//此处的错误序列1.addPoint([x,1000],true,true);将此代码添加到函数中,并从另一个js调用该函数,如下所示:myplot.init();获取val1和val2值,然后调用myplot.drawmyplot(val1,val2);
var myplot = {
init : function() { }
});
chart = new Highcharts.Chart({
//here u can write the code that u need to draw with series object
}
drawmyplot : function(val1,val2){
var x = series1.points[series1.points.length - 1].category + 20 * 1000;
series1.addPoint([x, val1], false, true);
series2.addPoint([x, val2], false, true);
$(".firstValue").text(val1 * 1000,1);
$(".secondValue").text(val2 * 1000,1);
}
for(var i = 0; i < site1.length; i++){
site1[i] = [ categories[i], site1[i] ];
site2[i] = [ categories[i], site2[i] ];
}