javascript - 在 HTML 页面上显示多个图表?
问题描述
我需要使用 chart.js 显示多个图表。
我知道只有在用户发送数据后我需要多少图表,所以我不能在 HTML 文件中编写不同的 canvas-id(我不知道我需要多少)。
所以我的问题是如何在一开始不知道的情况下显示一些图表?(每个图表都是矩阵中的不同行)
我的代码:
<HTML>
<div class="chart-container">
<div class="pie-chart-container">
<canvas id="pie-chartcanvas-1"></canvas>
</div>
</div>
<!-- javascript -->
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
javascript
var piechart = $("#pie-chartcanvas-1");
var data1 = {
labels: itemsArr,
datasets: [
{
label: "Population (millions)",
backgroundColor:
["#3e95cd", "#8e5ea2","#3cba9f","#e8c3b9","#c45850","#3cba9f"],
data: mat[0]
}
]
};
var chart = new Chart(piechart,{
type:"pie",
data : data1,
options:{
title: {
display: true,
text: namesArr[0]
}
}});
解决方案
用户发送给您的数据是作为 data1 对象吗?你总是需要饼图吗?如果是这样...
function createChart(data, id) {
addCanvas(id); // some id generated by you or sent by the user
generateChart(data, id); // data from the user
}
function addCanvas(id) { // create the new canvas
let canvas = document.createElement("canvas");
canv.setAttribute("id", "canvasID");
document.getElementsByClassName('pie-chart-container')[0].appendChild(canvas);
}
function generateChart(data, id) { // initialize the new chart
let piechart = $("#" + id);
let chart = new Chart(piechart,{
type:"pie",
data : data,
options: {
title: {
display: true,
text: namesArr[0]
}
}
});
}
推荐阅读
- javascript - 如何在本机反应中呈现html表格?
- karate - 空手道场景创建以测试 JSON 格式返回的错误消息
- ios - 缩放或移动时谷歌地图滞后
- javascript - 我的 Firebase 云函数因 Object.value is not a function 错误而失败?
- vb.net - 当我运行程序时,出现错误(cmd.executenonquery)
- python - 使用 python 对 CSV 文件进行更改
- python-3.x - Python:刷新本地文件夹
- r - 基于R中的模拟数据计算均方预测误差
- amazon-web-services - AWS Lambda:如何从配置中删除环境变量
- codeigniter - 错误 codeigniter 为同一用户生成多个会话