所以问题是图表标签太长而且动态。有没有办法设置标签长度的限制并在悬停时显示工具提示?
xAxes: [{
stacked: type === 'stacked',
scaleLabel: {
display: true,
labelString: interval ? `${i18n.t('chart.time')} (${i18n.t('chart.' + interval)})` : field.key
},
ticks: {
autoSkipPadding: 11,
maxRotation: 90,
minRotation: 0
}
}]
当前输出看起来像这样。
当前解决方案xD修改了最大长度为18的密钥并创建了静态排除列表..
const excludes = ['maakond', 'Maakond', 'district', 'District',
'province', 'Province', 'county', 'County'];
data.district.data.forEach(el => {
excludes.forEach(ex => {
el.key = el.key.replace(ex, '');
});
if(el.key.length > 18) {
el.key = el.key.substring(0, 20);
el.key = el.key + '.';
}
});
答案 0 :(得分:0)
使用Chart.scaleService.updateScaleDefaults。
Chart.scaleService.updateScaleDefaults('category', {
ticks: {
callback: function (tick) {
return tick.substring(0, 3);
}
}
});
然后将此代码添加到您的xAxes
选项中。
tooltips: {
callbacks: {
title: function (tooltipItems, data) {
return data.labels[tooltipItems[0].index]
}
}
}