如何在分解饼图(.NET Charting)中设置切片的距离

如何在分解饼图(.NET Charting)中设置切片的距离,.net,charts,mschart,exploded,.net,Charts,Mschart,Exploded,如何在.NET图表中的饼图中指定切片之间(或原点之间)的间距或距离 是否有任何财产或黑客行为?以前有人问过这个问题,答案是没有,没有办法-没有黑客行为。没有办法,但是,对于系列和单色背景上没有边框的2D饼图,还有一种选择:只需设置系列的边框宽度和颜色属性,使其具有所需的大小和与背景相同的颜色 像这样: Chart1.Series[0].BorderWidth = 3; Chart1.Series[0].BorderColor = System.Drawing.Color.White; 它将使切

如何在.NET图表中的饼图中指定切片之间(或原点之间)的间距或距离


是否有任何财产或黑客行为?

以前有人问过这个问题,答案是没有,没有办法-没有黑客行为。

没有办法,但是,对于系列和单色背景上没有边框的2D饼图,还有一种选择:只需设置系列的边框宽度和颜色属性,使其具有所需的大小和与背景相同的颜色

像这样:

Chart1.Series[0].BorderWidth = 3;
Chart1.Series[0].BorderColor = System.Drawing.Color.White;
它将使切片的内部部分与背景颜色相同,给人一种切片被分解的印象。缺点是它会使非常小的切片消失

如果要增加距离,可以将点分解,但如果要减少分解距离,则必须删除分解。

您可以使用并修改PieChart.cs的源,从第840行开始:

并修改x-Y组件以获得预期结果,如:

double xComponent = Math.Cos( midAngle * Math.PI / 180 ) * 1;
double yComponent = Math.Sin( midAngle * Math.PI / 180 ) * 1;
注意点的位置。标签也

问候,, 安吉洛:(无论如何还是要谢谢你
double xComponent = Math.Cos( midAngle * Math.PI / 180 ) * 1;
double yComponent = Math.Sin( midAngle * Math.PI / 180 ) * 1;