Highcharts Pie,系列中的第一个项目

时间:2017-03-09 00:41:30

标签: jquery highcharts

我在饼图中有一系列数据,按从最高到最低的顺序排列。我希望饼图切出第一个(最大)值。我尝试了一些没有成功的事情。我的饼图代码如下。

如何通过初始化馅饼来实现这一目标?

        $(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]
            }]
        });

我在init之后尝试了这个,但仍然选择了最后一个切片。

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

2 个答案:

答案 0 :(得分:1)

您可以在加载事件中对第一个点进行切片 - 请参阅API

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

示例:http://jsfiddle.net/zmgxtn1m/

答案 1 :(得分:0)

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/

选择具有最高值的数据