예제 #1
0
        public void Test_DataGen_SinSweep()
        {
            int pointCount = 5_000;

            double[] xs  = ScottPlot.DataGen.Consecutive(pointCount);
            double[] ys  = ScottPlot.DataGen.SinSweep(pointCount, density: 20);
            var      plt = new ScottPlot.Plot(600, 300);

            plt.AddScatterLines(xs, ys);
            plt.AxisAutoX(margin: 0);
            TestTools.SaveFig(plt);
        }
예제 #2
0
        public void Test_AxisAutoX_Repeated()
        {
            double[] xs = { 1, 2, 3, 4, 5 };
            double[] ys = { 1, 4, 9, 16, 25 };

            var plt = new ScottPlot.Plot(400, 300);

            plt.PlotScatter(xs, ys);
            plt.SetAxisLimits(-5, 10, -15, 40);

            for (int i = 0; i < 10; i++)
            {
                plt.AxisAutoX();
            }

            TestTools.SaveFig(plt);
        }
예제 #3
0
파일: Backend.cs 프로젝트: jl0pd/ScottPlot
        private void MiddleClickAutoAxis()
        {
            if (Configuration.MiddleClickAutoAxis == false)
            {
                return;
            }

            Settings.ZoomRectangle.Clear();

            if (Configuration.LockVerticalAxis == false)
            {
                Plot.AxisAutoY();
            }

            if (Configuration.LockHorizontalAxis == false)
            {
                Plot.AxisAutoX();
            }

            Render();
        }
예제 #4
0
        public void Test_AxisAutoX_Works()
        {
            var plt = new ScottPlot.Plot(400, 300);

            plt.AddPoint(-5, -5);
            plt.AddPoint(5, 5);

            // set limits too small
            plt.SetAxisLimits(-1, 1, -1, 1);
            var limits1 = plt.GetAxisLimits();

            // autoAxis should make them bigger just for X values
            plt.AxisAutoX();
            var limits2 = plt.GetAxisLimits();

            Assert.AreEqual(limits1.YMin, limits2.YMin);
            Assert.AreEqual(limits1.YMax, limits2.YMax);

            Assert.Less(limits2.XMin, limits1.XMin);
            Assert.Greater(limits2.XMax, limits1.XMax);
        }