javascript - chart.js - 右侧标签的问题
问题描述
我使用chart.js,我想在每个栏的右侧显示标签,但第一个标签有问题。
我使用插件chartjs-plugin-datalabels它可以工作,但第一个标签是隐藏的。
你知道如何解决这个问题吗?
https://jsfiddle.net/rq78pg4j/1/
var ctx4 = $('#chart_choice');
var chart_market = new Chart(ctx4, {
type: 'horizontalBar',
data: {
labels: ['Legend 1', 'Legend 2'],
datasets: [{
data: [12, 10],
label: '# of Votes',
backgroundColor: [
'rgba(243,212,205,1)',
'rgba(243,212,205,1)'
],
borderColor: [
'rgba(223,142,123,1)',
'rgba(223,142,123,1)'
],
borderWidth: 1
}]
},
options: {
plugins: {
datalabels: {
align: 'end',
anchor: 'end',
color: '#0B4892',
font: function(context) {
var w = context.chart.width;
return {
size: w < 512 ? 12 : 14,
weight: 'bold',
};
},
formatter: function(value, context) {
return context.chart.data.labels[context.dataIndex];
}
}
}
}
});
解决方案
问题是Chart.js
不知道在chartjs-plugin-datalabels
做什么。因此,它没有在图表右侧保留足够的空间,让最大柱的标签出现在canvas
.
这可以通过在图表右侧定义额外的填充来解决,如下所示。
options: {
layout: {
padding: {
right: 100
}
},
...
有关更多详细信息,请参阅文档中的页面布局配置
Chart.js
。
推荐阅读
- python-3.x - 使用 pyinstaller 实用程序打包仪表板(在仪表板上)的问题
- dolphindb - 有没有办法将增量的第一个结果设置为 0?
- javascript - 反应在输入中一次上传多个文件
- jmeter - 如何在 Jmeter 中同时运行多个用户
- reactjs - 离子:模式打开时未执行硬件后退按钮事件侦听器
- c++ - 返回的地址不是值中存储的内容
- reactjs - react-pdf 库未加载 PDF 文档
- angular - 如何从 Jasmine 测试中触发 ResizeObserver?
- android - _Cast 错误:空值检查运算符用于空值
- flutter - 颤振路线设置名称为空