问题与Highcharts系列addPoint - 样条线/线 - 标记可见,但线条消失

时间:2016-03-16 21:57:21

标签: javascript angularjs highcharts

我一直在努力解决这个问题,也许我可以得到一些帮助。我有一系列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
   }
 });

在添加第一个点之后,该行停止绘制......

Click to see screenshot

任何帮助都会非常感激。

谢谢!

0 个答案:

没有答案