我是JavaScript的新手,我已经坚持了一段时间了。我试图通过循环的dataframe,我从 flask ,我试图生成条形图w.r.t的列中存在的dataframe。(我在这里使用了一个示例数据,尽管我在原始代码中将dataframe转换为list)。
但我只得到一个图表w.r.t的第一个元素的itemData。我哪里做错了?是否与画布仅创建一次有关?你的帮助将不胜感激。
let labels = ['P1', 'P2', 'P3', 'P4', 'P5', 'P6'];
let itemData = [
[12, 13, 14, 15, 16, 17],
[19, 20, 21, 22, 23, 24],
[3, 4, 5, 6, 7, 8],
[5, 6, 7, 8, 9, 10],
[10, 11, 12, 13.14, 15],
[27, 28, 29, 30, 31, 32]
];
let text = ['t1', 't2', 't3', 't4', 't5', 't6'];
for (let i = 0; i < itemData.length; i++) {
const data = {
labels: labels,
datasets: [{
data: itemData[i],
backgroundColor: 'green'
}]
};
const config = {
type: 'bar',
data: data,
options: {
plugins: {
legend: {
display: false
},
title: {
display: true,
text: text[i]
}
}
}
};
const chart = new Chart(
document.getElementById('myChart'),
config
);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.3.2/chart.umd.min.js" integrity="sha512-ziISJqd7FOx3QNvnXiFWAfgSKqte9jMjzhrCnc7Gxpxfxjb5FdrBFg673DloeFEH6VLmTeo86yu5y/xJm38cBg==" crossorigin="anonymous" referrerpolicy="no-referrer">
</script>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
<div class="container">
<br>
<p><a href="/" class="btn btn-secondary btn">Back to Charts & Analysis</a></p>
<h4>Feature-wise Analysis</h4>
<hr>
</div>
<div style="padding-left: 100px; width: 600px; height: 500px;">
<canvas id="myChart"></canvas>
</div>
1条答案
按热度按时间kokeuurv1#
您的HTML无效。你的身体外面有divs。
不能在同一画布中使用新图表