作者:Utopia | 来源:互联网 | 2022-11-30 15:15
我使用chart.js及其依赖项jQuery绘制图表。就我而言,在我的页面之一中需要2个甜甜圈图,这是我的代码:
当我只有一个图表时,没有任何问题,但是当我尝试添加另一个图表时,我的图表变得如此之大,页面布局也变得如此混乱。你们能弄清楚我的代码有什么问题吗?谢谢。
1> Just code..:
根据chartjs文档:
无法直接从CANVAS元素检测画布大小更改的时间。Chart.js使用其父容器更新画布渲染和显示大小。但是,此方法要求容器相对放置并且仅专用于图表画布。然后可以通过设置容器尺寸的相对值来实现响应性
资料来源:https : //www.chartjs.org/docs/latest/general/sensitive.html
您应该将画布包装成div并在其中添加width,height。
这是我所做的更改
$(function () {
var ctx = document.getElementById("layanan").getContext('2d');
var data = {
datasets: [{
data: [10, 20, 30],
backgroundColor: [
'#3c8dbc',
'#f56954',
'#f39c12',
],
}],
labels: [
'Request',
'Layanan',
'Problem'
]
};
var myDoughnutChart = new Chart(ctx, {
type: 'doughnut',
data: data,
options: {
maintainAspectRatio: false,
legend: {
position: 'bottom',
labels: {
boxWidth: 12
}
}
}
});
var ctx_2 = document.getElementById("layanan_subbagian").getContext('2d');
var data_2 = {
datasets: [{
data: [10, 20, 30],
backgroundColor: [
'#3c8dbc',
'#f56954',
'#f39c12',
],
}],
labels: [
'Request',
'Layanan',
'Problem'
]
};
var myDoughnutChart_2 = new Chart(ctx_2, {
type: 'doughnut',
data: data_2,
options: {
maintainAspectRatio: false,
legend: {
position: 'bottom',
labels: {
boxWidth: 12
}
}
}
});
});