Подтвердить что ты не робот

Highcharts - ярлыки внутри и снаружи круговой диаграммы

Я знаю, что можно поместить метки круговой диаграммы внутри или снаружи пирога, изменив параметр plotOptions.pie.dataLabels.distance. Я пытаюсь выяснить, можно ли изменить это на основе точки по точкам:

, если срез меньше 15%, поместите метки внутри среза

else поместите метку за пределы среза

Возможно ли это в Highcharts? Ниже приведена одна из моих попыток, которая не работает; простой jsfiddle находится здесь: http://jsfiddle.net/supertrue/q6bQP/

plotOptions: {
    pie: {
        dataLabels: {
            distance: -30,
            color: 'white',
            formatter: function() {
                if (this.y < 15 ) {
                    this.point.dataLabels.color = 'red';
                    this.point.dataLabels.distance = 20;
                    return this.point.name;
                } else {
                    return this.point.name;
                }

        }
  },
4b9b3361

Ответ 2

Этого также можно добиться с помощью событий.

Рабочая скрипка: Наружная скрипка

Здесь, если точка данных меньше пяти, показывать метки вне графиков.

  chart: {
  type: 'pie',
  events: {
    load: function() {
      var series = this.series[0];
      setTimeout(function(){
        (series.points).forEach(function(point, i){
          if (point.y < 5) {
            point.update({dataLabels:{distance: 2}});
          }
        });
      }, 200);
    }
  }
}