private void Initialize(List<System.Drawing.Color> ThemeColors) { this.VaryColors = true; this.iFirstSliceAngle = 0; this.byHoleSize = 10; this.iGapWidth = 150; this.HasSplit = false; this.SplitType = C.SplitValues.Position; this.SplitPosition = 0; this.SecondPiePoints = new List<int>(); this.iSecondPieSize = 75; this.ShapeProperties = new SLA.SLShapeProperties(ThemeColors); }
/// <summary> /// Split the data series by value where the second plot contains all values less than a maximum value. This is only for bar-of-pie or pie-of-pie charts. /// </summary> /// <param name="MaxValue">The maximum value.</param> public void SplitSeriesByValue(double MaxValue) { this.HasSplit = true; this.SplitType = C.SplitValues.Value; this.SplitPosition = MaxValue; this.SecondPiePoints.Clear(); }
/// <summary> /// Split the data series by percentage where the second plot contains all values less than a percentage of the sum. This is only for bar-of-pie or pie-of-pie charts. /// </summary> /// <param name="MaxPercentage">The maximum percentage of the sum.</param> public void SplitSeriesByPercentage(double MaxPercentage) { this.HasSplit = true; this.SplitType = C.SplitValues.Percent; this.SplitPosition = MaxPercentage; this.SecondPiePoints.Clear(); }
/// <summary> /// Split the data series by position where the second plot contains the last N values. This is only for bar-of-pie or pie-of-pie charts. /// </summary> /// <param name="LastNValues">The last N values used in the second plot.</param> public void SplitSeriesByPosition(int LastNValues) { this.HasSplit = true; this.SplitType = C.SplitValues.Position; this.SplitPosition = (double)LastNValues; this.SecondPiePoints.Clear(); }
/// <summary> /// Split the data series by selecting data points for the second plot. This is only for bar-of-pie or pie-of-pie charts. /// </summary> /// <param name="DataPointIndices">The indices of the data points of the data series. The index is 1-based, so "1,3,4" sets the 1st, 3rd and 4th data point in the second plot.</param> public void SplitSeriesByCustom(params int[] DataPointIndices) { this.HasSplit = true; this.SplitType = C.SplitValues.Custom; this.SplitPosition = 0; this.SecondPiePoints.Clear(); foreach (int i in DataPointIndices) { // indices should start from 1 onwards if (i > 0) this.SecondPiePoints.Add(i - 1); } this.SecondPiePoints.Sort(); }