Highcharts Pie, разрезать первый элемент в серии

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

Как мне это сделать через инициализацию пирога?

        $(divID).highcharts({
            credits: false,
            chart: {
                plotBackgroundColor: null,
                plotBorderWidth: null,
                plotShadow: false,
                type: 'pie'
            },
            title: {
                text: chartData.title
            },
            subtitle: {
                text: chartData.subtitle
            },
            plotOptions: {
                pie: {
                    allowPointSelect: true,
                    cursor: 'pointer',
                    dataLabels: {
                        enabled: true,
                        formatter: function () {
                            return Highcharts.numberFormat(Math.round(this.percentage * 100) / 100, 1) + '%';
                        },
                        distance: -30,
                        color: 'black'
                    },
                    showInLegend: true
                }
            },
            noData: {
                enabled: true
            },
            series: [{
                colorByPoint: true,
                data: chartData.seriesData[0]
            }]
        });

Я пробовал это после инициализации, но все равно выбран последний фрагмент.

        $(divID).highcharts.series[0].data[0].slice();

person TheRealPapa    schedule 09.03.2017    source источник


Ответы (2)


Вы можете срезать первую точку в событии загрузки — см. API

chart: {
    type: 'pie',
    events: {
      load: function () {
        this.series[0].data[0].slice();
      }
    }
},

пример: http://jsfiddle.net/zmgxtn1m/

person morganfree    schedule 09.03.2017

Highcharts не упорядочивает ваши серии, вы можете получить максимум, а затем выбрать данные, которые являются максимальными.

var chart =  $(divID).highcharts;
var max = Math.max.apply(Math, chart.series[0].data.map(function(v){
    return v.y;
}));
var maxData = chart.series[0].data.filter(function(v){
    if (v.y == max)
    {
        return v.y;
    }
})[0]

вот скрипт, который выбирает данные с самыми высокими значениями, используя круговую диаграмму акций http://jsfiddle.net/1zLxnycf/

person Liviu Boboia    schedule 09.03.2017