第二个折线图需要不同的标签,chart js



我有两个值和标签的数据集。values1=[123.4523423.2,.3423,…],用于大约50000个值(以编程方式提供(

labels1=[1,2,3,4,…,值的长度1]

然后我values2=[75.63324.34,76.45,89.00],这是值1 的上述部分的峰值

labels2=发现峰值的位置。如果第7项是峰值,那么对于我拥有的4个峰值,标签2[0]=7等。

我的JS/HTML看起来像这个

<script>
var line_chart = {
type: 'line',
data: {
labels: {{ labels | safe }},
datasets: [{
label: 'Sweep data',
data: {{ values | safe }},
backgroundColor: 'red',
borderWidth: 1
},
{
label: 'Peak data',
data: [{
x: {{ values2 | safe }},
y: {{ labels2 | safe }}
}],
backgroundColor: 'black',
borderWidth: 1,
showLine: true
}
]
},
options: {
}
}
var context = document.getElementById('myChart').getContext('2d');
new Chart(context, line_chart);

有人告诉我,为了在同一张图表上绘制两个不同的数据集,我必须指定哪个x和y与每个值相关。我不知道如何做到这一点,因为第二个值和标签列表是从我的main.py.

我想做的是将值1中的50000个值用红色绘制,然后在这些值的顶部用黑色绘制4个峰值。

不是从python脚本中返回values2和labels2作为数字数组,而是返回一个包含对象的数组,其中x是标签,y是val,因此您将获得这样的数组:[{x: labels2[0], y: values2[0]}, {x: labels2[1], y: values2[1]}, {x: labels2[3], y: values2[3]}],但使用真实数据,而不是硬编码的

最新更新