关于水平条形图,我有一个非常特殊的问题。是否可以在条形图上显示数据标签?
就像这张照片:Drawing of the charts
我试着这样做:
ticks: {
padding: -xx,
}
但不幸的是,标签在条形图下面消失了,就像条形图在标签上面的一层一样。
有可能改变吗?
下面是我的代码:
var ctx = document.getElementById("stakeholderChart").getContext('2d');
var stakeholderChart = new Chart(ctx, {
type: 'horizontalBar',
data: {
labels: ["Point 1", "Point 2", "Point 3", "Point 4", "Point 5", "Point 6", "Point 7", "Point 8", "Point 9", "Point 10", "Point 11", "Point 12"],
datasets: [{
backgroundColor: "#527a82",
data: [74, 74, 68, 67, 65, 63, 60, 60, 58, 57, 45, 44],
}],
},
options: opt
});
and my options:
var opt = {
/*Legende ausblenden*/
legend: {
display: false,
},
/*responsive*/
responsive: true,
/*tooltips - hover labels*/
tooltips: {
enabled: false,
},
/*Layout*/
layout: {
padding: {
right: 30,
}
},
/* Label auf Balken – Werte hinter balken*/
plugins: {
datalabels: {
align: 'end',
anchor: 'end',
color: '#fff',
font: {
weight: 'bold',
size: 14,
},
formatter: function(value, context) {
return value + '%';
},
},
},
/*Plugins ende*/
/*Animation*/
animation: {
duration: 2000
},
/*Animation Ende*/
/*Achsen Einstellungen*/
scales: {
/* x Achse */
xAxes: [{
display: false,
gridLines: {
display: false
},
ticks: {
beginAtZero: true,
max: 90,
}
}],
/*x-axes ende*/
/* Y Achse */
yAxes: [{
display: true,
gridLines: {
display: false,
},
ticks: {
fontColor: '#fff',
fontStyle: 'normal',
fontSize: 13,
padding: -170,
},
categoryPercentage: 1.0,
barPercentage: 0.85,
}],
/* y-axes ende*/
},
/*Scales Ende*/
}
提前感谢您!
3条答案
按热度按时间lawou6xi1#
y53ybaqx2#
在代码中添加如下选项
或访问https://jsfiddle.net/tushar22/bfd98r26/5/
sg3maiej3#
对于水平条形图,只需启用
'mirror'
选项:查看文档:https://www.chartjs.org/docs/latest/axes/cartesian/#tick-configuration
“* 围绕坐标轴翻转刻度标签,显示图表内部的标签而不是外部的标签。注意:仅适用于垂直刻度。*”