我想通过提供两个数组来创建多个垂直线,第一个叫marketing
,其中包含"2017-09-21"
等日期,还有一个名为amount
的数组,只包含数字。< / p>
我使用ChartJS创建了折线图。最终结果应如下所示,但有多行。
到目前为止,这是我的代码
annotation: {
drawTime: 'afterDatasetsDraw',
annotations: [{
type: 'line',
mode: 'vertical',
scaleID: 'x-axis-0',
value: marketing,
borderColor: 'green',
borderWidth: 1,
label: {
enabled: true,
position: "center",
content: amount
}
}]
}
答案 0 :(得分:2)
考虑到你有两个数组(marketing
和amount
):
var marketing = ['2017-08-05', '2017-08-12'];
var amount = [50, 70];
您可以根据其中一个(marketing / amount)动态创建/填充annotations
数组,以绘制多条垂直线,如下所示:
// populate 'annotations' array dynamically based on 'marketing'
var annotations = marketing.map(function(date, index) {
return {
type: 'line',
id: 'vline' + index,
mode: 'vertical',
scaleID: 'x-axis-0',
value: date,
borderColor: 'green',
borderWidth: 1,
label: {
enabled: true,
position: "center",
content: amount[index]
}
}
});