使用Highcharts单击饼图切片时,是否可以指定不同的半径?

使用Highcharts单击饼图切片时,是否可以指定不同的半径?,highcharts,Highcharts,我使用的是Highcharts,它工作正常,但我想在饼图切片中进行更改,当我单击单个饼图切片时,该切片将重叠两个切片(右或左切片) 下面是我在饼图中所做的附加图像。 下面是expexted饼图结果的附件图像 您可以添加自己的方法,该方法将在单击时调整形状大小,例如: 函数大小切片(点,更改){ //原始形状参数存储在shapeArgs中: var shape=point.shapeArgs; 如果(点图形){ point.graphic.attr({ //“r”是外半径: r:形状。r+变化,

我使用的是Highcharts,它工作正常,但我想在饼图切片中进行更改,当我单击单个饼图切片时,该切片将重叠两个切片(右或左切片)

下面是我在饼图中所做的附加图像。

下面是expexted饼图结果的附件图像

您可以添加自己的方法,该方法将在单击时调整形状大小,例如:

函数大小切片(点,更改){
//原始形状参数存储在shapeArgs中:
var shape=point.shapeArgs;
如果(点图形){
point.graphic.attr({
//“r”是外半径:
r:形状。r+变化,
//“innerR”是内半径:
innerR:shape.innerR-更改
});
}
}
//绘制图表
Highcharts.chart('容器'{
图表:{
键入“pie”,
活动:{
//在调整窗口大小时,应用更改:
重画:函数(){
Highcharts.each(此.series[0]。点,函数(点){
resizeSlice(点,点.自定义大小?5:0)
});
}
}
},
打印选项:{
馅饼:{
内部尺寸:“90%”,
光标:“指针”,
数据标签:{
已启用:false
},
要点:{
活动:{
单击:函数(){
var变化=0;
//自定义参数,可以根据需要调用:
this.customResized=!this.customResized;
如果(此。自定义大小){
//让我们调整大小!
变化=5;
}
调整切片大小(此,更改);
}
}
}
}
},
系列:[{
数据:[3,4,5,6]
}]
});

我对该代码做了一些更改,以便重新调整所有其他饼的大小

:

函数大小切片(点,更改){
//原始形状参数存储在shapeArgs中:
var shape=point.shapeArgs;
如果(点图形){
point.graphic.attr({
//“r”是外半径:
r:形状。r+变化,
//“innerR”是内半径:
innerR:shape.innerR-更改
});
}
}
//绘制图表
Highcharts.chart('容器'{
图表:{
键入“pie”,
活动:{
//在调整窗口大小时,应用更改:
重画:函数(){
Highcharts.each(此.series[0]。点,函数(点){
resizeSlice(点,点.自定义大小?5:0)
});
}
}
},
打印选项:{
馅饼:{
内部尺寸:“90%”,
光标:“指针”,
数据标签:{
已启用:false
},
要点:{
活动:{
单击:函数(){
Highcharts.each(this.series.points、function(point){
调整切片大小(点,0)
});
var变化=0;
//自定义参数,可以根据需要调用:
this.customResized=!this.customResized;
如果(此。自定义大小){
//让我们调整大小!
变化=5;
}
调整切片大小(此,更改);
}
}
}
}
},
系列:[{
数据:[3,4,5,6]
}]
});

你能解释一下你的答案与PawełFus的答案有什么不同吗?在这个解决方案中,你不能同时调整多个切片的大小,只能调整一个。这是一个错误:单击两个切片,然后调整浏览器的大小。这也可以是使用variablepie的解决方案