2015-05-04 2 views
1

Я хочу обновить значение моей круговой диаграммы, когда я нажимаю какое-то поле легенды.Как обновить заголовок highchart

Например: у меня есть запрос 471, и когда я нажму в поле «Приложение Android» в легенде, у меня будет 426, и я хочу принять это значение и обновить заголовок. Мой код: http://jsfiddle.net/Cp73s/2133/

legend: { 
    align: 'right', 
    verticalAlign: 'top', 
    layout: 'vertical', 
    x: 0, 
    y: 100, 
    labelFormatter: function() { 
     $scope.data = this.total; 
     console.log($scope.data); 
     return this.y + ' ('+ this.percentage.toFixed(2) +'%) - ' +this.name; 
    } 
} 

ответ

1

Вы можете использовать plotOptions.series.point.events.legendItemClick обновить название, когда пункт щелкнул. Это не подходит для круговых диаграмм, но его можно использовать. Смотрите пример:

plotOptions: { 
    series: { 
     point: { 
      events: { 
       legendItemClick: function(event) { 
        var newTotal = this.total + (event.target.visible ? -event.target.y : event.target.y); 
        this.series.chart.setTitle({ text: 'Chart title ' + newTotal}); 
       } 
      } 
     } 
    } 
} 

Он сначала вычисляет новую сумму, так как событие вызывается до того, как точка удаляется, это должно учитывать это вручную. После этого он использует функцию Chart.setTitle для обновления заголовка.

См. this updated JSFiddle example о том, как это работает.

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