Объяснение выравнивания меток данных:
Марки данных пирога не поддерживают такой вид по умолчанию.
В Highcharts положение метки данных тесно связано с положением его разъема.Вы отключили коннекторы в своей демонстрации, и именно поэтому эти метки выглядят неуместно.
Алгоритмы всегда гарантируют, что край VERTICAL центра метки (метка воспринимается как прямоугольник) касаетсяконец разъема.Ваше требование состоит в том, чтобы соединитель мог касаться ЛЮБОГО части коробки этикетки (вертикальной или горизонтальной):
Он не можетбыть достигнуто без продвинутой модификации ядра Highcharts.
Обходной путь:
Мне удалось реализовать нечто очень близкое к тому, что вам нужно, переопределив две основные функции:
(function(H) {
H.seriesTypes.pie.prototype.dataLabelPositioners.radialDistributionX = function(series, point) {
return point.labelPosition.natural.x - (point.half ? -0.5 : 0.5) * point.dataLabel.width;
}
H.seriesTypes.pie.prototype.dataLabelPositioners.radialDistributionY = function(point) {
return point.labelPosition.natural.y;
}
})(Highcharts);
Демонстрационная версия : http://jsfiddle.net/BlackLabel/htk40ena/
Приведенный выше код заставляет Highcharts менять место, где соединители касаются меток.Обратите внимание, что в моей демонстрации разъемы не имеют смысла (попробуйте включить их).