我尝试使用Chart.js创建一个图表,我使用4.4.1版本创建一个水平图表。
在我的代码中,数据标签当前显示为“x:222,y:1”,但我打算让它们只显示主值,即“222”。
我正在使用下面的脚本标签:
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js" ></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
字符集
下面是我的代码:
Chart.register(ChartDataLabels);
new Chart('myChart', {
type: 'bar',
plugins: [{
afterInit: chart => {
let dataset = chart.data.datasets[0];
chart.data.datasets = chart.data.labels.map((l, i) => ({
label: l,
data: [{ x: dataset.data[i], y: i }],
backgroundColor: dataset.backgroundColor[i],
categoryPercentage: 1
}));
chart.data.labels = undefined;
},
beforeLayout: chart => {
chart.options.scales.y1.labels = chart.data.datasets.filter((ds, i) => !chart.getDatasetMeta(i).hidden).map(ds => ds.label);
}
}],
data: {
labels: ['Red', 'Blue', 'Green', 'Teal', 'Yellow', 'Purple', 'Orange', 'Black'],
datasets: [{
data: [123, 321, 213, 111, 222, 333, 234, 444],
backgroundColor: ['Red', 'Blue', 'Green', 'Teal', 'Yellow', 'Purple', 'Orange', 'Black']
}]
},
options: {
indexAxis: 'y',
maintainAspectRatio: false,
plugins: {
datalabels: {
color: 'white',
},
legend: {
position: 'top'
},
tooltip: {
callbacks: {
title: () => null
}
}
},
scales: {
x: {
title: {
display: true,
text: 'xAxis'
}
},
y: {
display: false,
},
y1: {
title: {
display: true,
text: 'yAxisLabel'
},
offset: true
}
}
},
});
型
输出量:
的数据
1条答案
按热度按时间tvokkenx1#
您可以使用
formatter
函数自定义数据标签的显示文本。在本例中,您将显示
x
作为显示的数据标签。字符集
Demo @ StackBlitz
的数据