2015-09-11 5 views
0

Я искал API docs и много примеров, но, похоже, не могу найти то, что хочу.Круговая диаграмма Highcharts - смещение одного фрагмента по клику

У меня есть круговая диаграмма с легендой. Когда вы нажимаете срез, он становится смещенным (это замечательно). Я бы хотел, чтобы это поведение при нажатии на элемент легенды.

Можно ли достичь смещения среза через клик по клику?

Итак, если вы нажмете на элемент в легенде, соответствующий срез станет смещенным.

кажется, что метод использования является legendItemClick, например:

options: { 
    chart: { 
     type: 'pie' 
    }, 
    plotOptions: { 

     //etc 

     series: { 
     point: { 
      events: { 

      legendItemClick: function() { 

       //return false; // this cancels the default action. 

       console.log(this); 

       //this.findtheSlice.makeItOffset(); //want to do something like this 

      } 

      } 
     } 
     } 

    //etc 

    } 
    } 
} 

Вот JSFiddle

Кажется, что не существует доступный метод для достижения этой цели, так, возможно, придется углубиться в апи.

Любая помощь будет очень признательна!

Btw, я использую угловую директиву для высоких карт (highcharts-ng). Есть некоторые тонкие различия.

+1

На основании [этот код] (https://github.com/highslide-software/highcharts.com/blob/master/js/highcharts.src.js#L18184) Я могу только ответить, что вы можете достичь желаемого поведения, только изменяя код библиотеки. – Andrey

+0

@Andrey Спасибо, хотелось бы, если возможно, не модифицировать библиотеку. –

ответ

1

В легендеItemClick вы должны позвонить this.slice(), а затем вернуть false.

  point: { 
       events: { 
        legendItemClick: function() { 
         this.slice(); 
         return false; 
        } 
       } 
      }, 

Пример: http://jsfiddle.net/95n2mm02/4/

+0

Отлично, спасибо Себастьян - красиво просто! –

Смежные вопросы