Это поведение не поддерживается по умолчанию в Highcharts, но в событии afterDrawDataLabels
, используя метод css
, вы можете установить textOverflow: 'ellipsis'
и правильные стили width
:
var H = Highcharts;
H.addEvent(H.Series, 'afterDrawDataLabels', function() {
var movement;
this.points.forEach(function(p) {
if (p.shapeArgs.width < p.dataLabels[0].width) {
movement = (p.dataLabels[0].width - p.shapeArgs.width) / 2;
p.dataLabels[0].css({
width: p.shapeArgs.width,
textOverflow: 'ellipsis'
});
p.dataLabels[0].text.attr({
x: movement
});
}
});
});
Живая демоверсия: https://jsfiddle.net/BlackLabel/h3fwxjb7/
Справочник по API: https://api.highcharts.com/class-reference/Highcharts.SVGElement#css