Пример #1
0
        private async void LaunchRandomWalk(object sender, RoutedEventArgs e)
        {
            if (!int.TryParse(this.Find <TextBox>("WalkPointsTextbox").Text, out int pointCount))
            {
                await MessageBox.Show(this, "invalid number of points", "ERROR", MessageBoxButtons.Ok);

                return;
            }

            double[] randomWalkData = DataGen.RandomWalk(rand, pointCount);

            var plt = new ScottPlot.Plot();

            plt.PlotSignal(randomWalkData);
            plt.Title($"{pointCount} Random Walk Points");

            var plotViewer = new ScottPlot.Avalonia.AvaPlotViewer(plt, 500, 300, "Random Walk Data");

            plotViewer.Owner = this;                                                         // so it closes if this window closes
            plotViewer.Find <AvaPlot>("avaPlot1").Configure(lowQualityWhileDragging: false); // customize as desired
            plotViewer.Show();                                                               // or ShowDialog() for a blocking window
        }
Пример #2
0
        private void LaunchRandomSin(object sender, RoutedEventArgs e)
        {
            if (!int.TryParse(this.Find <TextBox>("SinCountTextbox").Text, out int sinCount))
            {
                MessageBox.Show(this, "invalid number of sine waves", "ERROR", MessageBoxButtons.Ok);
                return;
            }

            var plt = new ScottPlot.Plot();

            for (int i = 0; i < sinCount; i++)
            {
                double[] randomSinValues = DataGen.Sin(50, rand.NextDouble() * 10, rand.NextDouble(), rand.NextDouble(), rand.NextDouble() * 100);
                plt.PlotSignal(randomSinValues);
            }
            plt.Title($"{sinCount} Random Sine Waves");

            var plotViewer = new ScottPlot.Avalonia.AvaPlotViewer(plt, 500, 300, "Random Sine Wave Data");

            plotViewer.Owner = this;                                                         // so it closes if this window closes
            plotViewer.Find <AvaPlot>("avaPlot1").Configure(lowQualityWhileDragging: false); // customize as desired
            plotViewer.Show();                                                               // or ShowDialog() for a blocking window
        }