Example #1
0
        public BarGraphicModel(DbTestItem test)
        {
            _rand               = new Random();
            TestItem            = test;
            PlotType            = PlotType.XY;
            PlotAreaBorderColor = OxyColor.FromRgb(160, 160, 160);

            // Ось количества машин
            MachinesAxis = new CategoryAxis
            {
                Title              = "Машин",
                Position           = AxisPosition.Bottom,
                MajorGridlineColor = OxyColor.FromRgb(220, 220, 220),
                MajorGridlineStyle = LineStyle.Solid,
                TicklineColor      = OxyColor.FromRgb(160, 160, 160)
            };

            // Ось времени
            DurationAxis = new LinearAxis
            {
                Title          = "Время(сек)",
                Position       = AxisPosition.Left,
                Minimum        = 0,
                Maximum        = 10,
                MaximumPadding = 0.5,
                TicklineColor  = OxyColor.FromRgb(160, 160, 160)
            };

            test.DbShardGroups[0].ShardGroupItems.ForEach(item =>
            {
                var color  = GetColor(item.Db);
                var series = new ColumnSeries()
                {
                    Title = item.Db.Name,
                };

                if (!ColorIsBusy(color))
                {
                    series.FillColor = color;
                }

                Series.Add(series);
            });

            foreach (var t in test.DbShardGroups)
            {
                MachinesAxis.Labels.Add(t.MachinesCount.ToString());
            }

            Axes.Add(MachinesAxis);
            Axes.Add(DurationAxis);

            Update();

            var timer = new Timer(100);

            timer.Elapsed += (sender, args) => { Update(); };
            timer.Start();
        }
Example #2
0
        public LineGraphicModel(DbTestItem test)
        {
            _rand               = new Random();
            TestItem            = test;
            PlotType            = PlotType.XY;
            PlotAreaBorderColor = OxyColor.FromRgb(160, 160, 160);

            // Ось количества машин
            MachinesAxis = new LinearAxis
            {
                Title              = "Машин",
                Position           = AxisPosition.Bottom,
                Minimum            = 0.8,
                Maximum            = test.Testers.GetLength(0) + 0.8,
                MajorStep          = 1,
                MajorGridlineColor = OxyColor.FromRgb(220, 220, 220),
                MajorGridlineStyle = LineStyle.Solid,
                TicklineColor      = OxyColor.FromRgb(160, 160, 160)
            };

            // Ось времени
            DurationAxis = new LinearAxis
            {
                Title          = "Время(сек)",
                Position       = AxisPosition.Left,
                Minimum        = 0,
                Maximum        = 10,
                MaximumPadding = 0.5,
                TicklineColor  = OxyColor.FromRgb(160, 160, 160)
            };

            test.DbShardGroups[0].ShardGroupItems.ForEach(item =>
            {
                var color  = GetColor(item.Db);
                var series = new LineSeries
                {
                    Title      = item.Db.Name,
                    MarkerType = MarkerType.Circle,
                    CanTrackerInterpolatePoints = false,
                    Smooth = true,
                };

                if (!ColorIsBusy(color))
                {
                    series.Color      = color;
                    series.MarkerFill = color;
                }

                Series.Add(series);
            });

            Axes.Add(MachinesAxis);
            Axes.Add(DurationAxis);

            Update();
        }