score:12

Accepted answer

just try to set more series, and play a while with size and inner size, see: http://jsbin.com/oyudan/165/edit

       series: [{
            name: 'browsers',
            data: [11,23,14,15],
            size: '40%',
            datalabels: {
                formatter: function() {
                    return this.y > 5 ? this.point.name : null;
                },
                color: 'white',
                distance: -30
            }
        }, {
            name: 'versions',
            data: [4,7,11,11,2,3,3,8,5,5,5],
            size: '70%',
            innersize: '40%',
            datalabels: {
                formatter: function() {
                    // display only if larger than 1
                    return this.y > 1 ? '<b>'+ this.point.name +':</b> '+ this.y +'%'  : null;
                }
            }
        }, {
            name: 'versions',
            data: [2,2,3,4,6,5,6,5,1,1,2,1,2,1,4,4,2,3,2,3,2,3],
            size: '80%',
            innersize: '70%',
            datalabels: {
                formatter: function() {
                    // display only if larger than 1
                    return this.y > 1 ? '<b>'+ this.point.name +':</b> '+ this.y +'%'  : null;
                }
            }

score:0

you can do the same by using two charts.

one chart will be having a pie and a donut while the second will have only a donut chart you can manage them by providing same center as well as radius such that they will synchronize.

hope this will work for you

score:0

a different method to achieve this is using the sunburst series type (highcharts 6.0.0 or newer).

here you specify data with an id parameter if they are to have series below them, and for the children you specify a parent parameter.

for example (jsfiddle, documentation):

$(function () {
    var data = [
        {
            name: 'anakin skywalker',
            id: 'father'
        }, {
            name: 'luke skywalker',
            id: 'child-1',
            parent: 'father',
            value: 1
        }, {
            name: 'leia organa',
            id: 'child-2',
            parent: 'father',
            value: 3
        }, {
            name: 'ben skywalker',
            parent: 'child-1',
            value: 1
        }, {
            name: 'jaina solo',
            parent: 'child-2',
            value: 1
        }, {
            name: 'jacen solo',
            parent: 'child-2',
            value: 1
        }, {
            name: 'anakin solo',
            parent: 'child-2',
            value: 1
        }
    ];

    $('#container').highcharts({
        chart: {
            type: 'sunburst'
        },
        title: {
            text: 'family tree'
        },
        series: [{
            data: data
        }]
    });
});

or see this very elaborate example of world population for its potential.


Related Query

More Query from same tag