用户需要直接知道该值,而不是将鼠标悬停在其上。谢谢。
您可以使用chartjs-plugin-datalabels。标签的positioning由图表选项内的以下定义指定。
plugins: {
datalabels: {
anchor: 'end',
align: 'end',
}
}
请查看下面的可运行代码段。
const labels = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'O'];
const data = labels.map(l => Math.floor(Math.random() * 1000) + 1);
const sortedData = data.slice().sort((a, b) => a - b);
const backgroundColors = data.map(v => sortedData.indexOf(v) >= data.length - 3 ? 'red' : 'green');
new Chart(document.getElementById('myChart'), {
type: 'bar',
data: {
labels: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'O'],
datasets: [{
label: "My Dataset",
data: data,
backgroundColor: backgroundColors
}]
},
options: {
layout: {
padding: {
top: 25
}
},
legend: {
display: false
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
},
plugins: {
datalabels: {
anchor: 'end',
align: 'end',
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels"></script>
<canvas id="myChart" height="90"></canvas>