예제 #1
0
        private void chartData_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
        {
            var chartArea = chartData.ChartAreas[ChartAreaIndex];

            if (e.Axis == e.ChartArea.AxisX)
            {
                AdjustChartView();
            }
        }
예제 #2
0
        // Fired when scroll bar is used
        private void chart1_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
        {
            var ca = chart1.ChartAreas["Area5"].AxisX.ScaleView;

            for (int i = 1; i < 5; i++)
            {
                chart1.ChartAreas["Area" + i.ToString()].AxisX.ScaleView.Zoom(ca.ViewMinimum, ca.ViewMaximum);
            }
        }
예제 #3
0
//изменилось отображение  графика
        private void chart1_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
        {
            int start = (int)chart1.ChartAreas[0].AxisX.ScaleView.ViewMinimum;

            if (double.IsNaN(chart1.ChartAreas[0].AxisX.ScaleView.Size))
            {
                comboBox1.Text = N_Output.ToString();
            }
            else
            {
                comboBox1.Text       = (chart1.ChartAreas[0].AxisX.ScaleView.Size + 1).ToString();
                hScrollBar2.Value    = (int)chart1.ChartAreas[0].AxisX.ScaleView.Size + 1;
                hScrollBar1.Value    = start;
                numericUpDown2.Value = start;
            }
        }
예제 #4
0
        private void chart1_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
        {
            FrequencyRange frequencyRange = new FrequencyRange(graph1LowerFrequency, graph1UpperFrequency);

            graph1FrequencyRanges.Push(frequencyRange);

            if (series1BinData != null)
            {
                AxisViewChanged(chart1, series1BinData.dataSeries, series1BinData.binArray, ref graph1LowerFrequency, ref graph1UpperFrequency, ref graph1BinFreqInc);
            }

            if (series2BinData != null)
            {
                AxisViewChanged(chart1, series2BinData.dataSeries, series2BinData.binArray, ref graph1LowerFrequency, ref graph1UpperFrequency, ref graph1BinFreqInc);
            }
        }
예제 #5
0
 private void fftChart_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
 {
     band_label.Text = "Виділена смуга: ";
     try
     {
         bw = fftChart.ChartAreas[0].AxisX.ScaleView.Size * N / SR;
     }
     catch
     {
         bw = 0.0;
     }
     bw = (bw / N) * SR;
     if (Double.IsNaN(bw))
     {
         bw = SR;
     }
     band_label.Text += (bw / 1000.0d) + " кГц";
 }
예제 #6
0
        private void chart2_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
        {
            FrequencyRange frequencyRange = new FrequencyRange(graph2LowerFrequency, graph2UpperFrequency);

            graph2FrequencyRanges.Push(frequencyRange);

            if (series1BinData != null)
            {
                AxisViewChanged(chart2, series1BinData.dataSeries, series1BinData.avgBinArray, ref graph2LowerFrequency, ref graph2UpperFrequency, ref graph2BinFreqInc);
            }

            if (series2BinData != null)
            {
                AxisViewChanged(chart2, series2BinData.dataSeries, series2BinData.avgBinArray, ref graph2LowerFrequency, ref graph2UpperFrequency, ref graph2BinFreqInc);
            }

            if (series1BinData != null && series2BinData != null)
            {
                GraphDifference(series1BinData, series2BinData);
            }
        }
예제 #7
0
 private void chart2_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
 {
 }
예제 #8
0
 void chartForCandle_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e) // событие изменение отображения диаграммы
 {
     ChartResize();
 }
예제 #9
0
 public void AxisViewChange(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
 {
     //SetLabel
     m_View.GetTimeTableChartCtl().SetSeriesLabel();
     m_View.GetTimeTableChartCtl().SetScale();
 }
 private void chart8_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
 {
     Utilities.AutoAdjustChartZoom(chart8, e, "Series2");
 }
예제 #11
0
        public static void AutoAdjustChartZoom(System.Windows.Forms.DataVisualization.Charting.Chart chart, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e, string series)
        {
            var axisY  = chart.ChartAreas[0].AxisY;
            var axisY2 = chart.ChartAreas[0].AxisY2;

            var xRangeStart = e.Axis.ScaleView.ViewMinimum;
            var xRangeEnd   = e.Axis.ScaleView.ViewMaximum;

            for (int i = 0; i < chart.Series.Count; i++)
            {
                // compute the Y values for the points crossing the range edges
                double?yRangeStart           = null;
                var    pointBeforeRangeStart = chart.Series[i].Points.FirstOrDefault(x => x.XValue <= xRangeStart);
                var    pointAfterRangeStart  = chart.Series[i].Points.FirstOrDefault(x => x.XValue > xRangeStart);
                if (pointBeforeRangeStart != null && pointAfterRangeStart != null)
                {
                    yRangeStart = Interpolate2Points(pointBeforeRangeStart, pointAfterRangeStart, xRangeStart);
                }

                double?yRangeEnd           = null;
                var    pointBeforeRangeEnd = chart.Series[i].Points.FirstOrDefault(x => x.XValue <= xRangeEnd);
                var    pointAfterRangeEnd  = chart.Series[i].Points.FirstOrDefault(x => x.XValue > xRangeEnd);
                if (pointBeforeRangeEnd != null && pointAfterRangeEnd != null)
                {
                    yRangeEnd = Interpolate2Points(pointBeforeRangeEnd, pointAfterRangeEnd, xRangeEnd);
                }

                var edgeValues = new[] { yRangeStart, yRangeEnd }.Where(x => x.HasValue).Select(x => x.Value);

                // find the points inside the range
                var valuesInRange = chart.Series[i].Points
                                    .Where(p => p.XValue >= xRangeStart && p.XValue <= xRangeEnd)
                                    .Select(x => x.YValues[0]);

                // find the minimum and maximum Y values
                var    values = valuesInRange.Concat(edgeValues);
                double yMin;
                double yMax;
                if (values.Any())
                {
                    yMin = values.Min();
                    yMax = values.Max();
                }
                else
                {
                    yMin = chart.Series[i].Points.Min(x => x.YValues[0]);
                    yMax = chart.Series[i].Points.Max(x => x.YValues[0]);
                }


                if (i == 0)
                {
                    axisY.ScaleView.Zoom(yMin, yMax);
                }
                else
                if (axisY2 != null)
                {
                    axisY2.ScaleView.Zoom(yMin, yMax);
                }
            }
        }
예제 #12
0
 private void ChartInput_AxisViewChanged(object sender, System.Windows.Forms.DataVisualization.Charting.ViewEventArgs e)
 {
     //Input = ChartInput.Series["Input"].Points.LastOrDefault().YValues.Last();
 }