Highchart的错误:语法未正确:错误的令牌

时间:2019-08-26 07:03:16

标签: javascript highcharts

所以我想做的是,我要根据数组中的数据在特定的X值上创建绘图线。

我有2个数据数组:

 featurex = [95,193,295,393,480,587,700,799,912,1015,1123,1230,1336,1443,1554] ;
 featurey = [0,0,0,0,0,3,0,0,0,0,0,0,0,0,0];

现在我要做的是,我试图在X轴上绘制绘图线,而我的Y轴为3。如上所示。

我能够静态地做到这一点,但我希望它是动态的。

这是我正在使用的Highchart代码。

Highcharts.chart('ppg', {
    chart: {
        type: 'line'
    },
    title: {
        text: 'ECG Data'
    },
    subtitle: {
        text: ''
    },
    xAxis: 

       for( i=0; i<featurex.length; i++)
     {
        if (featurey[i] == 3) {
            plotLines: [

                   {
                        value: featurex[i],
                        color: '#005a9b94',
                        dashStyle: 'shortdash',
                        width: 100,
                    },

        }


      },
      crosshair: false

    },
    yAxis: {
        title: {
            text: 'Peaks'

        }
    },
   tooltip: {
        enable: false
    },
    plotOptions: {
        column: {
            pointPadding: 0.2,
            borderWidth: 0
        }
    },
    series: [{
        name: '',
        lineWidth: 2,
        data: yData,
         animation: {
                duration: 5000
            }
         },
   {    type: 'scatter',
        name: 'Installation',
        data: zip(xPeak, yPeak),
        animation: {
                duration: 5200
            }
      },



     ]
});

});

});
</script>

这里Xaxis下的情节代码是主要关注的领域。 丢给我一个错误:

  

未捕获的SyntaxError:意外的令牌

请指导我做错了什么。

我们非常感谢您的帮助。谢谢。

2 个答案:

答案 0 :(得分:2)

问题出在这里

xAxis: 
    for( i=0; i<featurex.length; i++)

以上是无效的javascript语法。

如果您需要动态绘制曲线,请传递一个返回数组的函数

xAxis: {
  plotLines: generateDynamicPlotLines(),
}

您的功能将类似于

function generateDynamicPlotLines() {
    const plotLines = [];
    for(var i=0; i<featurex.length; i++) {
       if (featurey[i] == 3) {
           plotLines.push({
           value: featurex[i],
           color: '#005a9b94',
           dashStyle: 'shortdash',
           width: 100,
       });
     }
   }
   return plotLines;
}

答案 1 :(得分:0)

您的plotLines分配似乎在代码中缺少],应该是这样的,

plotLines: [{
          value: featurex[i],
          color: '#005a9b94',
          dashStyle: 'shortdash',
          width: 100,
      }],
}

希望这会有所帮助!