javascript - 在同一个网页中创建多个chart.js?
问题描述
所以我想出了如何在同一页面上绘制多个图表,但我想知道是否有比为每个 div 指定名称更好的方法来做到这一点?
代码片段:
<body>
<div style="width:1080px;margin:0 auto;">
<div style="width:80%">
<canvas id="canvas"></canvas>
</div>
<div style="width:80%">
<canvas id="canvas2"></canvas>
</div>
</div>
var ctx = document.getElementById("canvas").getContext("2d");
new Chart.Scatter (ctx, {
data: build_data_set(1),
options: set_options(1)
});
var ctx2 = document.getElementById("canvas2").getContext("2d");
new Chart.Scatter(ctx2, {
data: build_data_set(0),
options: set_options(0)
});
因此,例如,如果我需要绘制 30 个图表,我需要指定 30 个 div 吗?(canvas,canvas2,canvas3...,canvas30) 或者是否有更好的方法可以使用 for 循环来做到这一点?
经过大量的挖掘,我成功了。这是代码:
function create_chart(set_data, options, canvas){
var ctx=document.getElementById(canvas).getContext('2d');
new Chart.Line(ctx, {data:set_data, options:options});
}
var in_canvas = document.getElementById('graph-container');
for (k=0; k<param.length; k++){
var newDiv = document.createElement('div');
in_canvas.appendChild(newDiv);
var newCan = document.createElement('canvas');
newDiv.appendChild(newCan);
newCan.id = "canvas"+[k];
canv="canvas"+[k];
var data_test=build_data_set(k)
create_chart(build_data_set(k),set_options(k),canv);
}
解决方案
推荐阅读
- excel - Excel vlookup为所有记录返回相同的值
- vba - VBA - 处理带有 utf8 字符的文件夹名称
- python - 使用美汤提取嵌套的 span/p/div 结构
- ruby - 在存在不同 ruby 版本的文件夹中使用全局 Ruby 脚本
- javascript - 使用 Cookie 保存每个用户的清单
- c# - Visual Studio c#:复制一个 tabPage 并保留控件名称
- azure - Azure DevOps Pipelines 停止运行
- java - 如何在 Java (JavaFX) 中使用另一个类的标签
- javascript - React styleguidist ReferenceError:未定义流程
- git - 在这种情况下,repo 中可能不存在合并 PR 的提交?