Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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 无法将点添加到highchart区域_Javascript_Jquery_Highcharts - Fatal编程技术网

Javascript 无法将点添加到highchart区域

Javascript 无法将点添加到highchart区域,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我使用highchart js来可视化我的数据,类别是一个时间戳数组(以毫秒为单位),它工作得很好,但是我需要使它实时,每20秒更新一次 我试图使用highchart提供的addPoint函数将新点添加到当前图表中,我得到了一个错误www.highcharts.com/errors/19,它说 滴答声太多 如果尝试对轴应用过多的记号,则会发生此错误, 特别是当添加的标记数超过轴像素长度时。在里面 实际上,添加如此密集的蜱虫使其 彼此无法区分。错误的一个原因可能是 设置的时间间隔对于数据值来说太小

我使用highchart js来可视化我的数据,类别是一个时间戳数组(以毫秒为单位),它工作得很好,但是我需要使它实时,每20秒更新一次

我试图使用highchart提供的addPoint函数将新点添加到当前图表中,我得到了一个错误www.highcharts.com/errors/19,它说

滴答声太多

如果尝试对轴应用过多的记号,则会发生此错误, 特别是当添加的标记数超过轴像素长度时。在里面 实际上,添加如此密集的蜱虫使其 彼此无法区分。错误的一个原因可能是 设置的时间间隔对于数据值来说太小 范围总的来说,tickPixelInterval是一个更好的选择 自动处理这个问题。另一种情况是,如果您试图设置 日期时间轴上的类别,这将导致高图 自1970年以来每毫秒增加一个刻度

这是我的小提琴


请帮助检查如何将新点添加到图表中,此外,我认为我们应该为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] ];
}