/// <inheritdoc cref="ICartesianSeries{TDrawingContext}.GetBounds(CartesianChart{TDrawingContext}, IAxis{TDrawingContext}, IAxis{TDrawingContext})"/> public override DimensionalBounds GetBounds( CartesianChart <TDrawingContext> chart, IAxis <TDrawingContext> secondaryAxis, IAxis <TDrawingContext> primaryAxis) { var baseBounds = base.GetBounds(chart, secondaryAxis, primaryAxis); var tick = secondaryAxis.GetTick(chart.ControlSize, baseBounds.VisiblePrimaryBounds); return(new DimensionalBounds { SecondaryBounds = new Bounds { Max = baseBounds.SecondaryBounds.Max + 0.5 * secondaryAxis.UnitWidth, Min = baseBounds.SecondaryBounds.Min - 0.5 * secondaryAxis.UnitWidth }, PrimaryBounds = new Bounds { Max = baseBounds.PrimaryBounds.Max + tick.Value * primaryAxis.UnitWidth, Min = baseBounds.PrimaryBounds.Min - tick.Value * primaryAxis.UnitWidth }, VisibleSecondaryBounds = new Bounds { Max = baseBounds.VisibleSecondaryBounds.Max + 0.5 * secondaryAxis.UnitWidth, Min = baseBounds.VisibleSecondaryBounds.Min - 0.5 * secondaryAxis.UnitWidth }, VisiblePrimaryBounds = new Bounds { Max = baseBounds.VisiblePrimaryBounds.Max + tick.Value * primaryAxis.UnitWidth, Min = baseBounds.VisiblePrimaryBounds.Min - tick.Value * primaryAxis.UnitWidth }, }); }
/// <inheritdoc cref="ICartesianSeries{TDrawingContext}.GetBounds(CartesianChart{TDrawingContext}, IAxis{TDrawingContext}, IAxis{TDrawingContext})"/> public override SeriesBounds GetBounds( CartesianChart <TDrawingContext> chart, IAxis <TDrawingContext> secondaryAxis, IAxis <TDrawingContext> primaryAxis) { var baseSeriesBounds = base.GetBounds(chart, secondaryAxis, primaryAxis); if (baseSeriesBounds.IsPrevious) { return(baseSeriesBounds); } var baseBounds = baseSeriesBounds.Bounds; var tickPrimary = primaryAxis.GetTick(chart.ControlSize, baseBounds.VisiblePrimaryBounds); var tickSecondary = secondaryAxis.GetTick(chart.ControlSize, baseBounds.VisibleSecondaryBounds); var ts = tickSecondary.Value * DataPadding.X; var tp = tickPrimary.Value * DataPadding.Y; if (baseBounds.VisibleSecondaryBounds.Delta == 0) { var ms = baseBounds.VisibleSecondaryBounds.Min == 0 ? 1 : baseBounds.VisibleSecondaryBounds.Min; ts = 0.1 * ms * DataPadding.X; } if (baseBounds.VisiblePrimaryBounds.Delta == 0) { var mp = baseBounds.VisiblePrimaryBounds.Min == 0 ? 1 : baseBounds.VisiblePrimaryBounds.Min; tp = 0.1 * mp * DataPadding.Y; } return (new SeriesBounds( new DimensionalBounds { SecondaryBounds = new Bounds { Max = baseBounds.SecondaryBounds.Max + 0.5 * secondaryAxis.UnitWidth + ts, Min = baseBounds.SecondaryBounds.Min - 0.5 * secondaryAxis.UnitWidth - ts }, PrimaryBounds = new Bounds { Max = baseBounds.PrimaryBounds.Max + tp, Min = baseBounds.PrimaryBounds.Min - tp }, VisibleSecondaryBounds = new Bounds { Max = baseBounds.VisibleSecondaryBounds.Max + 0.5 * secondaryAxis.UnitWidth + ts, Min = baseBounds.VisibleSecondaryBounds.Min - 0.5 * secondaryAxis.UnitWidth - ts }, VisiblePrimaryBounds = new Bounds { Max = baseBounds.VisiblePrimaryBounds.Max + tp, Min = baseBounds.VisiblePrimaryBounds.Min - tp }, MinDeltaPrimary = baseBounds.MinDeltaPrimary, MinDeltaSecondary = baseBounds.MinDeltaSecondary }, false)); }
public override DimensinalBounds GetBounds( CartesianChart <TDrawingContext> chart, IAxis <TDrawingContext> secondaryAxis, IAxis <TDrawingContext> primaryAxis) { var baseBounds = base.GetBounds(chart, secondaryAxis, primaryAxis); var tick = primaryAxis.GetTick(chart.ControlSize, baseBounds.PrimaryBounds); return(new DimensinalBounds { PrimaryBounds = new Bounds { Max = baseBounds.SecondaryBounds.Max + 0.5, Min = baseBounds.SecondaryBounds.Min - 0.5 }, SecondaryBounds = new Bounds { Max = baseBounds.PrimaryBounds.Max + tick.Value, Min = baseBounds.PrimaryBounds.Min < 0 ? baseBounds.PrimaryBounds.Min - tick.Value : 0 } }); }
public override DimensinalBounds GetBounds( CartesianChart <TDrawingContext> chart, IAxis <TDrawingContext> x, IAxis <TDrawingContext> y) { var baseBounds = base.GetBounds(chart, x, y); var tick = y.GetTick(chart.ControlSize, baseBounds.PrimaryBounds); return(new DimensinalBounds { SecondaryBounds = new Bounds { Max = baseBounds.SecondaryBounds.Max + 0.5, Min = baseBounds.SecondaryBounds.Min - 0.5 }, PrimaryBounds = new Bounds { Max = baseBounds.PrimaryBounds.Max + tick.Value, min = baseBounds.PrimaryBounds.min - tick.Value } }); }
public override CartesianBounds GetBounds( SizeF controlSize, IAxis <TDrawingContext> x, IAxis <TDrawingContext> y, SeriesContext <TDrawingContext> seriesContext) { var baseBounds = base.GetBounds(controlSize, x, y, seriesContext); var tick = y.GetTick(controlSize, baseBounds.YAxisBounds); return(new CartesianBounds { XAxisBounds = new Bounds { Max = baseBounds.XAxisBounds.Max + 0.5, Min = baseBounds.XAxisBounds.Min - 0.5 }, YAxisBounds = new Bounds { Max = baseBounds.YAxisBounds.Max + tick.Value, min = baseBounds.YAxisBounds.min - tick.Value } }); }
/// <summary> /// Gets the bounds. /// </summary> /// <param name="chart">The chart.</param> /// <param name="secondaryAxis">The secondary axis.</param> /// <param name="primaryAxis">The primary axis.</param> /// <returns></returns> public override DimensionalBounds GetBounds( CartesianChart <TDrawingContext> chart, IAxis <TDrawingContext> secondaryAxis, IAxis <TDrawingContext> primaryAxis) { var baseBounds = base.GetBounds(chart, secondaryAxis, primaryAxis); var tickPrimary = primaryAxis.GetTick(chart.ControlSize, baseBounds.VisiblePrimaryBounds); var tickSecondary = secondaryAxis.GetTick(chart.ControlSize, baseBounds.VisibleSecondaryBounds); var ts = tickSecondary.Value * DataPadding.X; var tp = tickPrimary.Value * DataPadding.Y; return(new DimensionalBounds { SecondaryBounds = new Bounds { Max = baseBounds.SecondaryBounds.Max + 0.5 * secondaryAxis.UnitWidth + ts, Min = baseBounds.SecondaryBounds.Min - 0.5 * secondaryAxis.UnitWidth - ts }, PrimaryBounds = new Bounds { Max = baseBounds.PrimaryBounds.Max + tp, Min = baseBounds.PrimaryBounds.Min < 0 ? baseBounds.PrimaryBounds.Min - tp : 0 }, VisibleSecondaryBounds = new Bounds { Max = baseBounds.VisibleSecondaryBounds.Max + 0.5 * secondaryAxis.UnitWidth + ts, Min = baseBounds.VisibleSecondaryBounds.Min - 0.5 * secondaryAxis.UnitWidth - ts }, VisiblePrimaryBounds = new Bounds { Max = baseBounds.VisiblePrimaryBounds.Max + tp, Min = baseBounds.VisiblePrimaryBounds.Min < 0 ? baseBounds.PrimaryBounds.Min - tp : 0 }, MinDeltaPrimary = baseBounds.MinDeltaPrimary, MinDeltaSecondary = baseBounds.MinDeltaSecondary }); }