/// <summary> /// Calculates the series info. /// </summary> /// <returns></returns> internal Point CalculateSeriesInfo() { double width = 1 - SparrowChart.GetSeriesMarginPercentage(this); double mininumWidth = double.MaxValue; int position = Chart.BarErrorSeries.IndexOf(this) + 1; int count = Chart.BarErrorSeries.Count; foreach (SeriesBase series in Chart.Series) { List <double> values = series.XValues as List <double>; if (values != null) { for (int i = 1; i < values.Count; i++) { double delta = values[i] - values[i - 1]; if (delta != 0) { mininumWidth = Math.Min(mininumWidth, delta); } } } } mininumWidth = ((mininumWidth == double.MaxValue || mininumWidth >= 1 || mininumWidth < 0) ? 1 : mininumWidth); double per = mininumWidth * width / count; double start = per * (position - 1) - mininumWidth * width / 2; double end = start + per; return(new Point(start, end)); //} }