javascript - 使用图表JS在同一个图表上显示多个折线图
问题描述
现在我有两个不同的数据集,它们在同一页面上制作了两个不同的图表。我需要一张图表位于另一张图表之上。这就是我的 JS/HTML 的样子
<script>
var data1 = {
type: 'line',
data: {
datasets: [
{
label: 'Sweep data',
data: {{ values | safe }},
backgroundColor: ['red'],
fill: false,
display: true
}
],
labels: {{ labels | safe }},
},
options: {
}
};
var data2 = {
type: 'line',
data: {
datasets: [
{
label: 'Peak data',
data: {{ values2 | safe }},
backgroundColor: ['black'],
fill: false,
display: true
}
],
labels: {{ labels2 | safe }},
},
options: {
}
};
window.onload = function(){
var ctx = document.getElementById("canvas1").getContext("2d");
window.myLine = new Chart(ctx, data1);
var ctx2 = document.getElementById("canvas2").getContext("2d");
window.myLine = new Chart(ctx2, data2);
};
我知道它正在制作多个图表,因为我有两个 ctx 变量,我不知道如何只调用一次新的 Chart 函数,但将两个数据集都传递给它。数据集没有相同数量的标签,但第二张图是第一张图的峰值点,因此它们包含在原始标签集中。
我已经尝试解决这个问题并突出显示峰值点,但没有得到任何结果。两组标签和数据点都正确传入。我可以安慰他们两个来查看这些值。
解决方案
这是需要的
data: [{
x: {{ labels2[0] | safe }},
y: {{ values2[0] | safe }}
}, {
x: {{ labels2[1] | safe }},
y: {{ values2[1] | safe }}
}, {
x: {{ labels2[2] | safe }},
y: {{ values2[2] | safe }}
}, {
x: {{ labels2[3] | safe }},
y: {{ values2[3] | safe }}
}]
推荐阅读
- c# - 如何创建表达式
> 来自 C# 中的 PropertyInfo - firebase - Google Firebase 托管未配置我的证书
- kubernetes - Kubectl : 没有找到资源,即使在命名空间中运行 pod 也很难
- android - android如何在YoutubeBaseActivity上添加带有片段的viewpager?
- mysql - TypeError:无法访问字符串上类型字符串的偏移量
- c# - 新部署的 Azure Web 应用返回 404 错误代码
- flutter - 如何在 showModalBottomSheet 中获取正确的上下文?
- google-cloud-firestore - Firebase Firestore 安全规则“request.auth.ui”不等于“KullaniciId”
- sql-server - SQL Server Express 无法设置登录密码
- sql - 如何在 SQL 脚本中传递令牌?