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