Example #1
0
 public void AddSerias(Double[] x, Double[] y, String AreaName, ChartAreaType AreaType, SeriesChartType type, Color color)
 {
     if (mainChart.ChartAreas.IsUniqueName(AreaName))
     {
         CreateNewArea(x, y, AreaName, AreaType, type, color);
     }
     else
     {
         SetArea(x, y, AreaName, AreaType, type, color);
     }
 }
Example #2
0
        private void CreateNewArea(Double[] x, Double[] y, String AreaName, ChartAreaType AreaType, SeriesChartType type, Color color)
        {
            ChartArea chartArea = new ChartArea(AreaName);

            chartArea.AxisX.Minimum = x.Min();
            chartArea.AxisX.Maximum = x.Max();
            chartArea.AxisY.Minimum = y.Min();
            chartArea.AxisY.Maximum = y.Max();

            Series series = GetSeriesOf(x, y, AreaName, type, color);
            Title  title  = new Title(AreaName);

            title.DockedToChartArea       = AreaName;
            title.IsDockedInsideChartArea = false;

            switch (AreaType)
            {
            case ChartAreaType.Linear:
                chartArea.AxisX.LabelStyle.Format = "{0.0e0}";
                chartArea.AxisY.LabelStyle.Format = "{0.00}";
                break;

            case ChartAreaType.LogX:
                chartArea.AxisX.IsLogarithmic     = true;
                chartArea.AxisX.LabelStyle.Format = "{e0}";
                chartArea.AxisY.LabelStyle.Format = "{0.00}";
                break;

            case ChartAreaType.Polar:
                chartArea.AxisX.Minimum  = 0;
                chartArea.AxisX.Maximum  = 360;
                chartArea.AxisX.Interval = 30;
                chartArea.AxisX.Crossing = 90;
                chartArea.AxisY.Minimum  = 0;
                chartArea.AxisY.Maximum  = 1;
                chartArea.AxisY.Interval = 0.2;
                series.ChartType         = SeriesChartType.Polar;
                break;

            default:
                break;
            }

            mainChart.Titles.Add(title);
            mainChart.Series.Add(series);
            mainChart.ChartAreas.Add(chartArea);
        }
Example #3
0
        private void SetArea(Double[] x, Double[] y, String AreaName, ChartAreaType AreaType, SeriesChartType type, Color color)
        {
            Axis X = mainChart.ChartAreas.FindByName(AreaName).AxisX;
            Axis Y = mainChart.ChartAreas.FindByName(AreaName).AxisY;

            Series series = GetSeriesOf(x, y, AreaName, type, color);

            switch (AreaType)
            {
            case ChartAreaType.Linear:

                X.Minimum = GetMin(X.Minimum, x.Min());
                X.Maximum = GetMax(X.Maximum, x.Max());
                Y.Minimum = GetMin(Y.Minimum, y.Min());
                Y.Maximum = GetMax(Y.Maximum, y.Max());
                break;

            case ChartAreaType.LogX:
                X.Minimum = GetMin(X.Minimum, x.Min());
                X.Maximum = GetMax(X.Maximum, x.Max());
                Y.Minimum = GetMin(Y.Minimum, y.Min());
                Y.Maximum = GetMax(Y.Maximum, y.Max());
                break;

            case ChartAreaType.Polar:
                series.MarkerSize = 6;
                series.ChartType  = SeriesChartType.Polar;
                break;

            default:
                break;
            }

            mainChart.ChartAreas.FindByName(AreaName).AxisX = X;
            mainChart.ChartAreas.FindByName(AreaName).AxisY = Y;
            mainChart.Series.Add(series);
        }