gpt4 book ai didi

javascript - 使用图表js创建两个内联图表

转载 作者:行者123 更新时间:2023-12-05 04:27:17 24 4
gpt4 key购买 nike

我正在尝试为我的网页创建两个内联图表;

enter image description here

enter image description here

我尝试使用 chart.js 创建饼图和面团图。但是我只得到一个图表,尽管我在我的代码中为两个图表都输入了输入。

编辑:编辑代码。

<!DOCTYPE html>
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js"></script>
<style>
.gfg {
display: inline;
}
</style>

<body>
<canvas id="myChart1" width="90" height="90" style="width:100%;max-width:650px"></canvas>
<canvas id="myChart2" width="90" height="90" style="width:100%;max-width:650px"></canvas>
<script>
function getColors(length) {
let pallet = ["#0074D9", "#FF4136", "#2ECC40", "#FF851B", "#7FDBFF", "#B10DC9", "#FFDC00", "#001f3f", "#39CCCC", "#01FF70", "#85144b", "#F012BE", "#3D9970", "#111111", "#AAAAAA"];
let colors = [];

for (let i = 0; i < length; i++) {
colors.push(pallet[i % (pallet.length - 1)]);
}

return colors;
}
var xValues = ['Multimeter', 'UniBox', 'Toby', 'Cables', 'Test'];
var yValues = [2, 100, 223, 84, 197];
var barColors = getColors(xValues.length);

new Chart("myChart1", {
type: "pie",
data: {
labels: xValues,
datasets: [{
backgroundColor: barColors,
data: yValues
}]
},

options: {
"legend": {
"display": true,
"labels": {
"fontSize": 20,
}
},
title: {
display: true,
fontColor: 'rgb(255, 0, 0)',
fontSize: 25,
text: "Products in shortage (by number)"
}
}
});
var xxValues = ['Multimeter', 'UniBox', 'Toby', 'Cables', 'Test','kinley'];
var yyValues = [2, 100, 223, 84, 197,100];
var barColors = getColors(xxValues.length);

new Chart("myChart2", {
type: "pie",
data: {
labels: xxValues,
datasets: [{
backgroundColor: barColors,
data: yyValues
}]
},

options: {
"legend": {
"display": true,
"labels": {
"fontSize": 20,
}
},
title: {
display: true,
fontColor: 'rgb(255, 0, 0)',
fontSize: 25,
text: "Products in shortage (by number)"
}
}
});
</script>
</body>

</html>

如何在网页上插入两个内联图表?我是 chart.js 的绝对初学者。

最佳答案

您的脚本标签似乎是重复的,我不确定这是否是故意的,但您用第二个脚本标签掩盖了第一个脚本标签中声明的所有函数和变量。

无论如何,这里的问题是您在一个 Canvas 上加载两个具有相同 ID 的图表。

将第二个图表的名称设置为 myChart2 并添加另一个以 myChart2 作为 ID 的 Canvas :

new Chart("myChart", {
...

new Chart("myChart2", {
...

对于 Canvas :

<canvas id="myChart" width="90" height="90" style="width:100%;max-width:650px"></canvas>
<canvas id="myChart2" width="90" height="90" style="width:100%;max-width:650px"></canvas>

应该加载图表和内联可以通过 css 使用 flexbox 或 inline-block 显示来完成。

关于javascript - 使用图表js创建两个内联图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72875439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com