【发布时间】:2020-03-01 13:42:51
【问题描述】:
【问题讨论】:
标签: javascript charts chart.js bar-chart
【问题讨论】:
标签: javascript charts chart.js bar-chart
你可以使用chartjs-plugin-datalabels如下:
new Chart(document.getElementById("myChart"), {
type: "bar",
data: {
labels: ['A', 'B', 'C'],
datasets: [{
label: "X",
data: [15, 8, 12],
backgroundColor: "red"
},
{
label: "Y",
data: [7, 6, 15],
backgroundColor: "blue"
},
{
label: "Z",
data: [6, 12, 10],
backgroundColor: "green"
}
]
},
options: {
plugins: {
datalabels: {
formatter: (value, context) => {
let total = context.chart.data.datasets[context.dataIndex].data.reduce((a, b) => a + b, 0);
return Math.round(1000 / total * value) / 10 + '%';
},
color: 'white'
}
},
scales: {
xAxes: [{
stacked: true
}],
yAxes: [{
stacked: true
}]
}
}
});
canvas {
max-width: 400px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels"></script>
<canvas id="myChart" width="10" height="5"></canvas>
【讨论】:
data: [15, 8, 12, 39]之类的数据,则会显示错误