当stackLabel大于列时,如何在highcharts中隐藏它
当标签中的文本大于列时(如下图所示),如何在highCharts中隐藏stackLabel(列上方的标签)。 当我的数据超过列宽时,我想显示空字符串 这是代码的一部分,负责显示数据:当stackLabel大于列时,如何在highcharts中隐藏它,highcharts,Highcharts,当标签中的文本大于列时(如下图所示),如何在highCharts中隐藏stackLabel(列上方的标签)。 当我的数据超过列宽时,我想显示空字符串 这是代码的一部分,负责显示数据: yAxis: { stackLabels: { style: { color: 'black' }, enabled: true formatter: function () {
yAxis: {
stackLabels: {
style: {
color: 'black'
},
enabled: true
formatter: function () {
return this.total + " mm ";
}
}
}
创建一个函数,该函数循环遍历堆栈标签,并根据比较隐藏或显示标签,将其宽度与点的宽度进行比较 函数可以如下所示:
function hideLabel() {
const axis = this.yAxis[0];
const stacks = axis.stacks.column;
const pointWidth = this.series[0].points[0].shapeArgs.width;
Object.keys(stacks).forEach(key => {
const label = stacks[key].label;
label.attr({
visibility: label.getBBox().width > pointWidth ? 'hidden' : 'visible'
});
})
}
在加载和重画事件时设置此函数:
chart: {
type: 'column',
events: {
load: hideLabel,
redraw: hideLabel
}
},
示例:请添加一些代码,或一个包含所需内容的屏幕截图。我认为使用您的逻辑将更接近OP的要求