1👍
✅
To accomplish so, you would need to set canvas element‘s width and height, using it‘s native attributes (not style/css).
<canvas id="foo" width="300" height="150"></canvas>
note: this width and height values have to be half of the values that you set for the canvas wrapper element (<figure>
)
ᴅᴇᴍᴏ
new Chart(foo, {
type: "pie",
data: {
labels: [
"Lorem ipsum dolor sit",
"Morbi nec lacus",
"Others"
],
datasets: [{
data: ["134", "74", "13"]
}]
},
options: {
responsive: true,
legend: {
position: "right",
labels: {
usePointStyle: true
}
}
}
});
figure {
position: relative;
width: 300px;
height: 150px;
}
canvas {
border: 1px solid salmon;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<figure>
<canvas id="foo" width="150" height="75"></canvas>
</figure>
another approach
without canvas wrapper and setting responsive
property to false
new Chart(foo, {
type: "pie",
data: {
labels: [
"Lorem ipsum dolor sit",
"Morbi nec lacus",
"Others"
],
datasets: [{
data: ["134", "74", "13"]
}]
},
options: {
responsive: false,
legend: {
position: "right",
labels: {
usePointStyle: true
}
}
}
});
canvas {
border: 1px solid salmon;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<canvas id="foo" width="300" height="150"></canvas>
Source:stackexchange.com