Beispiel #1
0
        public void Initialize(double samplingFrequency, string title, XAxisScrollMode scrollMode = XAxisScrollMode.None)
        {
            SampleFrequency = samplingFrequency;
            ContainerChart.BeginUpdate();

            ContainerChart.Title.Text = title;
            ContainerChart.ViewXY.SampleDataSeries[0].Clear();
            ContainerChart.ViewXY.SampleDataSeries[0].SamplingFrequency = 1;
            ContainerChart.ViewXY.ZoomPanOptions.MouseWheelZooming      = MouseWheelZooming.Off;
            ContainerChart.ViewXY.ZoomPanOptions.LeftMouseButtonAction  = MouseButtonAction.None;
            ContainerChart.ViewXY.ZoomPanOptions.RightMouseButtonAction = MouseButtonAction.None;

            _xAxis.Minimum = -SampleFrequency / 2;
            _xAxis.Maximum = SampleFrequency / 2;

            _xAxis.ScrollMode     = scrollMode;
            _xAxis.ScrollPosition = _xAxis.Minimum;
            _xAxis.Position       = _xAxis.Minimum;
            _xAxis.Title.Text     = string.Format("{0} s", SampleFrequency.ToString("0.000"));

            ContainerChart.ViewXY.SampleDataSeries[0].FirstSampleTimeStamp = _xAxis.Minimum;
            ContainerChart.ViewXY.DropOldSeriesData = true;

            var samples = new double[(int)SampleFrequency];

            FeedData(samples);

            ContainerChart.EndUpdate();
        }
        /// <summary>
        /// 图表初始化
        /// </summary>
        /// <param name="samplingFrequency">采样频率</param>
        /// <param name="title">示波器标题</param>
        /// <param name="scrollMode">示波器缩放模式</param>
        /// <param name="xAxisLen">x轴长度</param>
        public void Initialize(double samplingFrequency, string title,
                               XAxisScrollMode scrollMode, double xAxisLen)
        {
            _samplingFrequency = samplingFrequency;
            _chart.BeginUpdate();

            _chart.Title.Text = title;
            _chart.ViewXY.SampleDataSeries[0].Clear();
            _chart.ViewXY.SampleDataSeries[0].SamplingFrequency    = samplingFrequency;
            _chart.ViewXY.SampleDataSeries[0].FirstSampleTimeStamp = 0;

            _chart.ViewXY.ZoomPanOptions.MouseWheelZooming     = MouseWheelZooming.Horizontal;
            _chart.ViewXY.ZoomPanOptions.LeftMouseButtonAction = MouseButtonAction.None;

            _chart.ViewXY.XAxes[0].ScrollMode     = scrollMode;
            _chart.ViewXY.XAxes[0].ScrollPosition = 0;
            _chart.ViewXY.XAxes[0].SetRange(0, xAxisLen);
            _chart.ViewXY.XAxes[0].Title.Text = string.Format("{0} s", xAxisLen.ToString("0.000"));
            _chart.ViewXY.DropOldSeriesData   = true;

            //_chart.ViewXY.LineSeriesCursors[0].Visible = false;

            _chart.EndUpdate();
        }
 /// <summary>
 /// 设置示波器缩放模式
 /// </summary>
 /// <param name="scrollMode">示波器缩放模式</param>
 public void SetScrollMode(XAxisScrollMode scrollMode)
 {
     _chart.ViewXY.XAxes[0].ScrollMode = scrollMode;
 }