public void Test_AutoAxis_ShrinkWhenNeeded() { var plt = new ScottPlot.Plot(); // small area plt.PlotLine(-5, -5, 5, 5); plt.AxisAuto(); var limitsA = plt.AxisLimits(); Console.WriteLine($"limits A: {limitsA}"); // expand to large area plt.Axis(-123, 123, -123, 123); var limitsB = plt.AxisLimits(); Console.WriteLine($"limits B: {limitsB}"); // shrink back to small area plt.AxisAuto(); var limitsC = plt.AxisLimits(); Console.WriteLine($"limits C: {limitsC}"); Assert.That(limitsB.XMin < limitsA.XMin); Assert.That(limitsB.XMax > limitsA.XMax); Assert.That(limitsB.YMin < limitsA.YMin); Assert.That(limitsB.YMax > limitsA.YMax); Assert.That(limitsB.XMin < limitsC.XMin); Assert.That(limitsB.XMax > limitsC.XMax); Assert.That(limitsB.YMin < limitsC.YMin); Assert.That(limitsB.YMax > limitsC.YMax); }
public void Test_AutoAxis_ExpandXY() { var plt = new ScottPlot.Plot(); // small area plt.PlotLine(-5, -5, 5, 5); plt.AxisAuto(); var limitsA = plt.AxisLimits(); // large area plt.PlotLine(-99, -99, 99, 99); plt.AxisAuto(); var limitsB = plt.AxisLimits(); Assert.That(limitsB.XMin < limitsA.XMin); Assert.That(limitsB.XMax > limitsA.XMax); Assert.That(limitsB.YMin < limitsA.YMin); Assert.That(limitsB.YMax > limitsA.YMax); }
public void Test_AutoAxis_CandlestickSinglePoint() { var plt = new ScottPlot.Plot(); plt.PlotCandlestick(DataGen.RandomStockPrices(rand: null, pointCount: 1)); var limits = plt.AxisLimits(); Assert.Greater(limits.XSpan, 0); Assert.Greater(limits.YSpan, 0); }
public void Test_AutoAxis_WorksAfterClear() { var plt = new ScottPlot.Plot(); plt.PlotPoint(0.1, 0.1); plt.PlotPoint(-0.1, -0.1); plt.AxisAuto(); plt.Render(); // force a render Assert.Greater(plt.AxisLimits().XMin, -5); plt.PlotPoint(999, 999); plt.PlotPoint(-999, -999); plt.AxisAuto(); plt.Render(); // force a render Assert.Less(plt.AxisLimits().XMin, -800); plt.Clear(); plt.PlotPoint(0.1, 0.1); plt.PlotPoint(-0.1, -0.1); plt.Render(); // force a render Assert.Greater(plt.AxisLimits().XMin, -5); }
public void Test_AutoAxis_ScatterVerticalLine() { var plt = new ScottPlot.Plot(); plt.PlotScatter( xs: new double[] { 1, 1 }, ys: new double[] { 1, 2 } ); plt.AxisAuto(); var limits = plt.AxisLimits(); Assert.Greater(limits.XSpan, 0); Assert.Greater(limits.YSpan, 0); }