HighCharts甜甜圈-如何单独调整每个外部段的高度?

HighCharts甜甜圈-如何单独调整每个外部段的高度?,highcharts,Highcharts,有人告诉我这是不可能的,但我相信这里的海图大师会证明这是不可能的 我已经创建了一个两级圆环图,其中始终有5个内部段,每个段有6个外部段- 每个外部段的宽度将始终相同,但我想单独调整每个外部段的高度,以便于查看高值和低值 非常粗糙的图表显示了我正在尝试做的事情(我没有足够的点来使用内联图像): 这在海图上可能吗 -代码: var colors=Highcharts.getOptions().colors, 类别=[ “A”, “B”, "C",, “D”, “E” ], 数据=[ { y:20,

有人告诉我这是不可能的,但我相信这里的海图大师会证明这是不可能的

我已经创建了一个两级圆环图,其中始终有5个内部段,每个段有6个外部段-

每个外部段的宽度将始终相同,但我想单独调整每个外部段的高度,以便于查看高值和低值

非常粗糙的图表显示了我正在尝试做的事情(我没有足够的点来使用内联图像):

这在海图上可能吗

-代码:

var colors=Highcharts.getOptions().colors,
类别=[
“A”,
“B”,
"C",,
“D”,
“E”
],
数据=[
{
y:20,
颜色:颜色[1],
向下展开:{
名称:‘O’,
类别:[
'1',
'2',
'3',
'4',
'5',
'6'
],
数据:[
2.5,
2.5,
2.5,
2.5,
2.5,
2.5
]
}
},
{
y:20,
颜色:颜色[2],
向下展开:{
名称:‘C’,
类别:[
'1',
'2',
'3',
'4',
'5',
'6'
],
数据:[
2.5,
2.5,
2.5,
2.5,
2.5,
2.5
]
}
},
{
y:20,
颜色:颜色[3],
向下展开:{
名称:'E',
类别:[
'1',
'2',
'3',
'4',
'5',
'6'
],
数据:[
2.5,
2.5,
2.5,
2.5,
2.5,
2.5
]
}
},
{
y:20,
颜色:颜色[4],
向下展开:{
名称:‘A’,
类别:[
'1',
'2',
'3',
'4',
'5',
'6'
],
数据:[
2.5,
2.5,
2.5,
2.5,
2.5,
2.5
]
}
},
{
y:20,
颜色:颜色[5],
向下展开:{
名称:‘N’,
类别:[
'1',
'2',
'3',
'4',
'5',
'6'
],
数据:[
2.5,
2.5,
2.5,
2.5,
2.5,
2.5
]
}
}
],
browserData=[],
versionsData=[],
我
J
dataLen=data.length,
钻孔数据透镜,
亮度
//构建数据阵列
对于(i=0;i5?this.point.name:空;
},
颜色:“#ffffff”,
距离:-50
}
}, {
名称:'版本',
数据:versionsData,
大小:“80%”,
内部尺寸:“60%”,
数据标签:{
已启用:false
/*格式化程序:函数(){
//仅当大于1时显示
返回此.y>1?''+this.point.name+':'+
this.y+'%':空;
}*/ 
},
id:'版本',
}],
响应:{
规则:[{
条件:{
/*最大宽度:1000*/
},
图表选项:{
系列:[{
}, {
id:'版本',
数据标签:{
已启用:false
}
}]
}
}]
}
});

您可以更改为
可变派,而不是简单地使用
系列。 在本系列中,必须指定表示每个切片高度的
z
值。
记住将模块导入脚本中

现场演示:

var colors = Highcharts.getOptions().colors,
    categories = [
        'A',
        'B',
        'C',
        'D',
        'E'
    ],
    data = [
        {
            y: 20,
            color: colors[1],
            drilldown: {
                name: 'O',
                categories: [
                    '1',
                    '2',
                    '3',
                    '4',
                    '5',
                    '6'
                ],
                data: [
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5
                ]
            }
        },
         {
            y: 20,
            color: colors[2],
            drilldown: {
                name: 'C',
                categories: [
                    '1',
                    '2',
                    '3',
                    '4',
                    '5',
                    '6'
                ],
                data: [
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5
                ]
            }
        },
                {
            y: 20,
            color: colors[3],
            drilldown: {
                name: 'E',
                categories: [
                    '1',
                    '2',
                    '3',
                    '4',
                    '5',
                    '6'
                ],
                data: [
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5
                ]
            }
        },
                {
            y: 20,
            color: colors[4],
            drilldown: {
                name: 'A',
                categories: [
                    '1',
                    '2',
                    '3',
                    '4',
                    '5',
                    '6'
                ],
                data: [
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5
                ]
            }
        },
                {
            y: 20,
            color: colors[5],
            drilldown: {
                name: 'N',
                categories: [
                    '1',
                    '2',
                    '3',
                    '4',
                    '5',
                    '6'
                ],
                data: [
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5,
                    2.5
                ]
            }
        }
    ],
    browserData = [],
    versionsData = [],
    i,
    j,
    dataLen = data.length,
    drillDataLen,
    brightness;


// Build the data arrays
for (i = 0; i < dataLen; i += 1) {

    // add browser data
    browserData.push({
        name: categories[i],
        y: data[i].y,
        color: data[i].color
    });

    // add version data
    drillDataLen = data[i].drilldown.data.length;
    for (j = 0; j < drillDataLen; j += 1) {
        brightness = 0.2 - (j / drillDataLen) / 5;
        versionsData.push({
            name: data[i].drilldown.categories[j],
            y: data[i].drilldown.data[j],
            color: Highcharts.color(data[i].color).brighten(brightness).get()
        });
    }
}

// Create the chart
Highcharts.chart('container', {
    chart: {
        type: 'pie'
    },
    title: {
        text: ''
    },
    subtitle: {
        text: ''
    },
    plotOptions: {
        pie: {
            shadow: false,
            //center: ['50%', '50%'],
            innerSize: '55%'
        }
    },
    credits: {
        enabled: false
        },
    series: [{
        name: 'Browsers',
        data: browserData,
        size: '60%',
        dataLabels: {
            formatter: function () {
                return this.y > 5 ? this.point.name : null;
            },
            color: '#ffffff',
            distance: -50
        }
    }, {
        name: 'Versions',
        data: versionsData,
        size: '80%',
        innerSize: '60%',
        dataLabels: {
            enabled: false
            /*formatter: function () {
                // display only if larger than 1
                return this.y > 1 ? '<b>' + this.point.name + ':</b> ' +
                    this.y + '%' : null;
            }*/ 
        },
        id: 'versions',
    }],
    responsive: {
        rules: [{
            condition: {
                /*maxWidth: 1000*/
            },
            chartOptions: {
                series: [{
                }, {
                    id: 'versions',
                    dataLabels: {
                        enabled: false
                    }
                }]
            }
        }]
    }
});