To add offset for even slices use the PieSlice class and its Offset property to control the radial offeset of slice from the original position:
Dim ds = New DataSeries() With { _
Key .ValuesSource = New Double() {1, 2, 2, 1, 2, 1, _
2} _
}
ds.PlotElementLoaded += Function(s, e)
Dim slice = TryCast(s, PieSlice)
If slice IsNot Nothing Then
' add offset for even slices
If (slice.DataPoint.PointIndex Mod 2) Is 0 Then
slice.Offset = 15
End If
End If
End Function
chart.Data.Children.Add(ds)
chart.ChartType = ChartType.Pie
•C#
var ds = new DataSeries() { ValuesSource = new double[] { 1, 2, 2, 1, 2, 1, 2 } };
ds.PlotElementLoaded += (s, e) =>
{
var slice = s as PieSlice;
if (slice != null)
{
// add offset for even slices
if ((slice.DataPoint.PointIndex % 2) == 0)
slice.Offset = 15;
}
};
chart.Data.Children.Add(ds);
chart.ChartType = ChartType.Pie;