所以我想做的是,我要根据数组中的数据在特定的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:意外的令牌
请指导我做错了什么。
我们非常感谢您的帮助。谢谢。
答案 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,
}],
}
希望这会有所帮助!