public DebugParametersTrendViewModel()
        {
            PlotVm = new PlotModel {
                IsLegendVisible = false
            };
            PlotVm.Axes.Add(new DateTimeAxis());
            PlotVm.Axes.Add(new LinearAxis());
            //_plotVm.Series.Add(new FunctionSeries(Math.Cos, 0, 10, 0.1, "cos(x)"));

            PlotCr = new PlotController();
            PlotCr.UnbindAll();
            PlotCr.BindMouseDown(OxyMouseButton.Left, PlotCommands.Track);
            PlotCr.Bind(new OxyMouseDownGesture(OxyMouseButton.Right), PlotCommands.PanAt);
            PlotCr.Bind(new OxyMouseDownGesture(OxyMouseButton.Left), PlotCommands.ZoomRectangle);
            PlotCr.Bind(new OxyMouseEnterGesture(), PlotCommands.HoverPointsOnlyTrack);
            PlotCr.BindMouseWheel(PlotCommands.ZoomWheel);
            PlotCr.BindMouseDown(OxyMouseButton.Left, OxyModifierKeys.None, 2, PlotCommands.ResetAt);

            _points1 = new LineSeries {
                Color = OxyColor.FromRgb(255, 0, 0)
            };
            _points2 = new LineSeries {
                Color = OxyColor.FromRgb(0, 128, 0)
            };
            _points3 = new LineSeries {
                Color = OxyColor.FromRgb(0, 0, 128)
            };
            _points4 = new LineSeries {
                Color = OxyColor.FromRgb(128, 0, 128)
            };

            PlotVm.Series.Add(_points1);
            PlotVm.Series.Add(_points2);
            PlotVm.Series.Add(_points3);
            PlotVm.Series.Add(_points4);

            TrendControlVm1 = new TrendControlViewModel("Параметр 1", this);
            TrendControlVm2 = new TrendControlViewModel("Параметр 2", this);
            TrendControlVm3 = new TrendControlViewModel("Параметр 3", this);
            TrendControlVm4 = new TrendControlViewModel("Параметр 4", this);

            CommandPanLeftFast = new RelayCommand(() =>
            {
                PlotVm.PanAllAxes(PlotVm.PlotArea.Width / 4.0, 0);
                PlotVm.InvalidatePlot(false);
            });

            CommandPanLeft = new RelayCommand(() =>
            {
                PlotVm.PanAllAxes(PlotVm.PlotArea.Width / 20.0, 0);
                PlotVm.InvalidatePlot(false);
            });

            CommandPanRight = new RelayCommand(() =>
            {
                PlotVm.PanAllAxes(PlotVm.PlotArea.Width / -20.0, 0);
                PlotVm.InvalidatePlot(false);
            });

            CommandPanRightFast = new RelayCommand(() =>
            {
                PlotVm.PanAllAxes(PlotVm.PlotArea.Width / -4.0, 0);
                PlotVm.InvalidatePlot(false);
            });

            CommandZoomOut = new RelayCommand(() =>
            {
                PlotVm.ZoomAllAxes(0.8);
                PlotVm.InvalidatePlot(false);
            });

            CommandZoomIn = new RelayCommand(() =>
            {
                PlotVm.ZoomAllAxes(1.25);
                PlotVm.InvalidatePlot(false);
            });

            CommandZoomAll = new RelayCommand(() =>
            {
                PlotVm.ResetAllAxes();
                PlotVm.InvalidatePlot(false);
            });


            CommandPanUpFast = new RelayCommand(() =>
            {
                PlotVm.PanAllAxes(0, PlotVm.PlotArea.Height / 4.0);
                PlotVm.InvalidatePlot(false);
            });

            CommandPanUp = new RelayCommand(() =>
            {
                PlotVm.PanAllAxes(0, PlotVm.PlotArea.Height / 20.0);
                PlotVm.InvalidatePlot(false);
            });

            CommandPanDown = new RelayCommand(() =>
            {
                PlotVm.PanAllAxes(0, PlotVm.PlotArea.Height / -20.0);
                PlotVm.InvalidatePlot(false);
            });

            CommandPanDownFast = new RelayCommand(() =>
            {
                PlotVm.PanAllAxes(0, PlotVm.PlotArea.Height / -4.0);
                PlotVm.InvalidatePlot(false);
            });
        }