Javascript Highcharts系列添加点-样条线/直线-标记可见但直线消失的问题

Javascript Highcharts系列添加点-样条线/直线-标记可见但直线消失的问题,javascript,angularjs,highcharts,Javascript,Angularjs,Highcharts,我已经为这个问题挣扎了一段时间,也许我可以得到一些帮助。我有一系列5个容器,每个容器中都有小图。只要数据是静态的,它就会显示良好。但是,当我使用系列[0]切换到每三秒轮询一次实时数据时,addPoint([x,y],true,true),标记就会出现,但行会消失。我已经研究并尝试了所有我能在网上找到的东西。还有谁有这个问题,你是如何解决的 这是我正在执行addPoint的代码部分 array = renameArrayNameKeys(modemNickNameArray, tmpmodem)

我已经为这个问题挣扎了一段时间,也许我可以得到一些帮助。我有一系列5个容器,每个容器中都有小图。只要数据是静态的,它就会显示良好。但是,当我使用系列[0]切换到每三秒轮询一次实时数据时,addPoint([x,y],true,true),标记就会出现,但行会消失。我已经研究并尝试了所有我能在网上找到的东西。还有谁有这个问题,你是如何解决的

这是我正在执行addPoint的代码部分

 array = renameArrayNameKeys(modemNickNameArray, tmpmodem);
 var utxpDataSet = Enumerable.From(tmpmodem).Where(function(x) {
   return x.Name == utxpChart.series[0].name
 }).Select(function(x) {
   return x
 }).ToArray();
 var urxlDataSet = Enumerable.From(tmpmodem).Where(function(x) {
   return x.Name == urxlChart.series[0].name
 }).Select(function(x) {
   return x
 }).ToArray();
 var usnrDataSet = Enumerable.From(tmpmodem).Where(function(x) {
   return x.Name == usnrChart.series[0].name
 }).Select(function(x) {
   return x
 }).ToArray();
 var dsnrDataSet = Enumerable.From(tmpmodem).Where(function(x) {
   return x.Name == dsnrChart.series[0].name
 }).Select(function(x) {
   return x
 }).ToArray();
 var drxlDataSet = Enumerable.From(tmpmodem).Where(function(x) {
   return x.Name == drxlChart.series[0].name
 }).Select(function(x) {
   return x
 }).ToArray();
 var tableDataSet = Enumerable.From(tmpmodem).Select(function(x) {
   return {
     Name: x.Name,
     Color: x.Color,
     Average: x.Value,
     Value: x.Value,
     high: x.high,
     low: x.low
   }
 }).ToArray();
 if (tableDataSet != null) {
   $scope.$parent.$parent.$parent.previewType.dataSet = tableDataSet;
   safeApply($scope);
 }
 var x = (new Date()).getTime(),
   // current time
   y = parseFloat(utxpDataSet[0].Value);
 $scope.$parent.$parent.$parent.$parent.preview.utxpChart.series[0].addPoint([x, y], true, true);
 $scope.$parent.$parent.$parent.$parent.preview.utxpChart.series[0].options.color = utxpDataSet[0].Color;
 var l = $scope.$parent.$parent.$parent.$parent.preview.utxpChart.series[0].points.length;
 var point = $scope.$parent.$parent.$parent.$parent.preview.utxpChart.series[0].points[l - 1];
 point.update({
   marker: {
     fillColor: utxpDataSet[0].Color
   }
 });


 var x = (new Date()).getTime(),
   // current time
   y = parseFloat(urxlDataSet[0].Value);
 $scope.$parent.$parent.$parent.$parent.preview.urxlChart.series[0].addPoint([x, y], true, true);
 $scope.$parent.$parent.$parent.$parent.preview.urxlChart.series[0].options.color = urxlDataSet[0].Color;
 l = $scope.$parent.$parent.$parent.$parent.preview.urxlChart.series[0].points.length;
 point = $scope.$parent.$parent.$parent.$parent.preview.urxlChart.series[0].points[l - 1];
 point.update({
   marker: {
     fillColor: urxlDataSet[0].Color
   }
 });


 var x = (new Date()).getTime(),
   // current time
   y = parseFloat(usnrDataSet[0].Value);
 $scope.$parent.$parent.$parent.$parent.preview.usnrChart.series[0].addPoint([x, y], true, true);
 $scope.$parent.$parent.$parent.$parent.preview.usnrChart.series[0].options.color = usnrDataSet[0].Color;
 l = $scope.$parent.$parent.$parent.$parent.preview.usnrChart.series[0].points.length;
 point = $scope.$parent.$parent.$parent.$parent.preview.usnrChart.series[0].points[l - 1];
 point.update({
   marker: {
     fillColor: usnrDataSet[0].Color
   }
 });


 var x = (new Date()).getTime(),
   // current time
   y = parseFloat(dsnrDataSet[0].Value);
 $scope.$parent.$parent.$parent.$parent.preview.dsnrChart.series[0].addPoint([x, y], true, true);
 $scope.$parent.$parent.$parent.$parent.preview.dsnrChart.series[0].options.color = dsnrDataSet[0].Color;
 l = $scope.$parent.$parent.$parent.$parent.preview.dsnrChart.series[0].points.length;
 point = $scope.$parent.$parent.$parent.$parent.preview.dsnrChart.series[0].points[l - 1];
 point.update({
   marker: {
     fillColor: dsnrDataSet[0].Color
   }
 });


 var x = (new Date()).getTime(),
   // current time
   y = parseFloat(drxlDataSet[0].Value);
 $scope.$parent.$parent.$parent.$parent.preview.drxlChart.series[0].addPoint([x, y], true, true);
 $scope.$parent.$parent.$parent.$parent.preview.drxlChart.series[0].options.color = time[0].Color;
 l = $scope.$parent.$parent.$parent.$parent.preview.drxlChart.series[0].points.length;
 point = $scope.$parent.$parent.$parent.$parent.preview.drxlChart.series[0].points[l - 1];
 point.update({
   marker: {
     fillColor: time[0].Color
   }
 });
添加第一个点后,直线停止绘制,就像这样

任何帮助都将不胜感激


谢谢

是否可能在数据点之间获得空值?您能为您的addPoint记录x,y以验证正在设置的数据吗?如果将这些$scope.$parent.$parent.$parent.$parent.$parent.preview.usnrChart分配给变量,则此代码更易于阅读。console中是否有任何错误?也许会起作用?另见,芭芭拉,你是对的。正在拾取空值。我执行了一个try-catch,通过一个API获取所有值,但在添加点时出现了一个输入错误,不知怎的,它是在时间[0]中添加的。我猜这就是批量复制/粘贴的结果。一旦我将其更改为drxlDataSet[0]。颜色,点的位置就正确了。谢谢你的帮助。