Beispiel #1
0
        void OnRadianAngleStepComboBoxSelectedIndexChanged(NValueChangeEventArgs arg)
        {
            NAngularScale angleScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale;

            angleScale.MajorTickMode = ENMajorTickMode.CustomStep;

            switch (((NComboBox)arg.TargetNode).SelectedIndex)
            {
            case 0:
                angleScale.CustomStep = new NAngle(15, NUnit.Degree);
                break;

            case 1:
                angleScale.CustomStep = new NAngle(30, NUnit.Degree);
                break;

            case 2:
                angleScale.CustomStep = new NAngle(45, NUnit.Degree);
                break;

            case 3:
                angleScale.CustomStep = new NAngle(90, NUnit.Degree);
                break;

            default:
                NDebug.Assert(false);
                break;
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreatePolarChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Polar Area";

            // configure chart
            m_Chart = (NPolarChart)chartView.Surface.Charts[0];

            m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleValue);

            // setup polar axis
            NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale;

            linearScale.ViewRangeInflateMode  = ENScaleViewRangeInflateMode.MajorTick;
            linearScale.InflateViewRangeBegin = true;
            linearScale.InflateViewRangeEnd   = true;
            linearScale.MajorGridLines.Stroke = new NStroke(1, NColor.Black);

            NScaleStrip strip = new NScaleStrip();

            strip.Fill       = new NColorFill(NColor.FromColor(NColor.Beige, 0.5f));
            strip.Interlaced = true;
            linearScale.Strips.Add(strip);

            // setup polar angle axis
            NAngularScale angularScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale;

            strip            = new NScaleStrip();
            strip.Fill       = new NColorFill(NColor.FromRGBA(192, 192, 192, 125));
            strip.Interlaced = true;
            angularScale.Strips.Add(strip);

            // polar area series 1
            NPolarAreaSeries series1 = new NPolarAreaSeries();

            m_Chart.Series.Add(series1);
            series1.Name           = "Theoretical";
            series1.DataLabelStyle = new NDataLabelStyle(false);
            GenerateData(series1, 100, 15.0);

            // polar area series 2
            NPolarAreaSeries series2 = new NPolarAreaSeries();

            m_Chart.Series.Add(series2);
            series2.Name           = "Experimental";
            series2.DataLabelStyle = new NDataLabelStyle(false);
            GenerateData(series2, 100, 10.0);

            // apply style sheet
            chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, false));

            return(chartView);
        }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreatePolarChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Polar Vector";

            // configure chart
            m_Chart = (NPolarChart)chartView.Surface.Charts[0];

            m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleValue);

            // setup polar axis
            NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale;

            linearScale.ViewRangeInflateMode   = ENScaleViewRangeInflateMode.MajorTick;
            linearScale.InflateViewRangeBegin  = true;
            linearScale.InflateViewRangeEnd    = true;
            linearScale.MajorGridLines.Visible = true;

            NScaleStrip strip = new NScaleStrip();

            strip.Fill       = new NColorFill(new NColor(NColor.Beige, 125));
            strip.Interlaced = true;
            linearScale.Strips.Add(strip);

            // setup polar angle axis
            NAngularScale angularScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale;

            strip            = new NScaleStrip();
            strip.Fill       = new NColorFill(NColor.FromRGBA(192, 192, 192, 125));
            strip.Interlaced = true;
            angularScale.Strips.Add(strip);

            // create a polar line series
            NPolarVectorSeries vectorSeries = new NPolarVectorSeries();

            m_Chart.Series.Add(vectorSeries);
            vectorSeries.Name           = "Series 1";
            vectorSeries.DataLabelStyle = new NDataLabelStyle(false);

            for (int i = 0; i < 360; i += 30)
            {
                for (int j = 10; j <= 100; j += 10)
                {
                    vectorSeries.DataPoints.Add(new NPolarVectorDataPoint(i, j, i + j / 10, j, null, new NStroke(1, ColorFromValue(j))));
                }
            }

            chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, false));

            return(chartView);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreatePolarChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Polar Point";

            // configure chart
            m_Chart = (NPolarChart)chartView.Surface.Charts[0];

            m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleValue);

            // setup polar axis
            NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale;

            linearScale.ViewRangeInflateMode  = ENScaleViewRangeInflateMode.MajorTick;
            linearScale.InflateViewRangeBegin = true;
            linearScale.InflateViewRangeEnd   = true;

            linearScale.MajorGridLines.Stroke.DashStyle = ENDashStyle.Dot;

            NScaleStrip strip = new NScaleStrip();

            strip.Fill       = new NColorFill(NColor.FromColor(NColor.Cyan, 0.4f));
            strip.Interlaced = true;
            linearScale.Strips.Add(strip);
            linearScale.MajorGridLines.Visible = true;

            // setup polar angle axis
            NAngularScale angularScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale;

            strip            = new NScaleStrip();
            strip.Fill       = new NColorFill(NColor.FromRGBA(192, 192, 192, 125));
            strip.Interlaced = true;

            angularScale.Strips.Add(strip);
            angularScale.MajorGridLines.Visible = true;

            // create three polar point series
            Random  random = new Random();
            NSeries s1     = CreatePolarPointSeries("Sample 1", ENPointShape.Ellipse, random);
            NSeries s2     = CreatePolarPointSeries("Sample 2", ENPointShape.Rectangle, random);
            NSeries s3     = CreatePolarPointSeries("Sample 3", ENPointShape.Triangle, random);

            // add the series to the chart
            m_Chart.Series.Add(s1);
            m_Chart.Series.Add(s2);
            m_Chart.Series.Add(s3);

            chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, false));

            return(chartView);
        }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreatePolarChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Polar Line";

            // configure chart
            m_Chart = (NPolarChart)chartView.Surface.Charts[0];

            m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleValue);

            // setup polar axis
            NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale;

            linearScale.ViewRangeInflateMode   = ENScaleViewRangeInflateMode.MajorTick;
            linearScale.InflateViewRangeBegin  = true;
            linearScale.InflateViewRangeEnd    = true;
            linearScale.MajorGridLines.Visible = true;

            NScaleStrip strip = new NScaleStrip();

            strip.Fill       = new NColorFill(new NColor(NColor.Beige, 125));
            strip.Interlaced = true;
            linearScale.Strips.Add(strip);

            // setup polar angle axis
            NAngularScale angularScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale;

            strip            = new NScaleStrip();
            strip.Fill       = new NColorFill(NColor.FromRGBA(192, 192, 192, 125));
            strip.Interlaced = true;
            angularScale.Strips.Add(strip);

            // add a const line
            NAxisReferenceLine line = new NAxisReferenceLine();

            m_Chart.Axes[ENPolarAxis.PrimaryValue].ReferenceLines.Add(line);
            line.Value  = 50;
            line.Stroke = new NStroke(1, NColor.SlateBlue);

            // create a polar line series
            NPolarLineSeries series1 = new NPolarLineSeries();

            m_Chart.Series.Add(series1);
            series1.Name           = "Series 1";
            series1.CloseContour   = true;
            series1.DataLabelStyle = new NDataLabelStyle(false);
            Curve1(series1, 50);

            // create a polar line series
            NPolarLineSeries series2 = new NPolarLineSeries();

            m_Chart.Series.Add(series2);
            series2.Name           = "Series 2";
            series2.DataLabelStyle = new NDataLabelStyle(false);
            series2.CloseContour   = true;

            Curve2(series2, 100);

            // create a polar line series
            NPolarLineSeries series3 = new NPolarLineSeries();

            m_Chart.Series.Add(series3);
            series3.Name           = "Series 3";
            series3.CloseContour   = false;
            series3.DataLabelStyle = new NDataLabelStyle(false);
            Curve3(series3, 100);

            chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, false));

            return(chartView);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreatePolarChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Polar Angle Axis Position";

            // configure chart
            m_Chart = (NPolarChart)chartView.Surface.Charts[0];

            m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleSecondaryAngleValue);

            // setup chart
            m_Chart.InnerRadius = 40;

            // create a polar line series
            NPolarLineSeries series1 = new NPolarLineSeries();

            m_Chart.Series.Add(series1);
            series1.Name           = "Series 1";
            series1.CloseContour   = true;
            series1.DataLabelStyle = new NDataLabelStyle(false);
            series1.MarkerStyle    = new NMarkerStyle(false);
            series1.UseXValues     = true;
            Curve1(series1, 50);

            // create a polar line series
            NPolarLineSeries series2 = new NPolarLineSeries();

            m_Chart.Series.Add(series2);
            series2.Name           = "Series 2";
            series2.CloseContour   = true;
            series2.DataLabelStyle = new NDataLabelStyle(false);
            series2.MarkerStyle    = new NMarkerStyle(false);
            series2.UseXValues     = true;
            Curve2(series2, 100);

            // setup polar axis
            NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale;

            linearScale.ViewRangeInflateMode   = ENScaleViewRangeInflateMode.MajorTick;
            linearScale.InflateViewRangeBegin  = true;
            linearScale.InflateViewRangeEnd    = true;
            linearScale.MajorGridLines.Visible = true;
            linearScale.MajorGridLines.Stroke  = new NStroke(1, NColor.Gray, ENDashStyle.Solid);

            NScaleStrip strip = new NScaleStrip();

            strip.Fill       = new NColorFill(NColor.Beige);
            strip.Interlaced = true;
            linearScale.Strips.Add(strip);

            // setup polar angle axis
            NAngularScale degreeScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale;

            degreeScale.MajorGridLines.Visible = true;
            degreeScale.Labels.Style.Angle     = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 0);

            // add a second value axes
            NPolarAxis valueAxis = m_Chart.Axes[ENPolarAxis.PrimaryValue];

            m_RedAxis   = m_Chart.Axes[ENPolarAxis.PrimaryAngle];
            m_GreenAxis = m_Chart.Axes[ENPolarAxis.SecondaryAngle];

            NAngularScale gradScale = new NAngularScale();

            gradScale.AngleUnit          = NUnit.Grad;
            gradScale.Labels.Style.Angle = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 0);

            m_GreenAxis.Scale  = gradScale;
            m_GreenAxis.Anchor = new NValueCrossPolarAxisAnchor(70, m_RedAxis, ENPolarAxisOrientation.Angle, ENScaleOrientation.Right);

            m_RedAxis.Anchor = new NDockPolarAxisAnchor(ENPolarAxisDockZone.OuterRim);

            m_Chart.Axes[ENPolarAxis.PrimaryValue].Anchor = new NValueCrossPolarAxisAnchor(90, m_RedAxis, ENPolarAxisOrientation.Value, ENScaleOrientation.Auto);

            // apply style sheet
            // color code the axes and series after the stylesheet is applied
            m_RedAxis.Scale.SetColor(NColor.Red);
            m_GreenAxis.Scale.SetColor(NColor.Green);

            series2.ValueAxis = m_GreenAxis;

            return(chartView);
        }
Beispiel #7
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreatePolarChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Polar Value Axis Position";

            // configure chart
            m_Chart = (NPolarChart)chartView.Surface.Charts[0];

            m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleValue);

            // setup chart
            m_Chart.InnerRadius = 20;

            // setup polar axis
            NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale;

            linearScale.ViewRangeInflateMode         = ENScaleViewRangeInflateMode.MajorTick;
            linearScale.InflateViewRangeBegin        = true;
            linearScale.InflateViewRangeEnd          = true;
            linearScale.Labels.OverlapResolveLayouts = new NDomArray <ENLevelLabelsLayout>(new ENLevelLabelsLayout[] { ENLevelLabelsLayout.AutoScale });

            linearScale.MajorGridLines.Visible          = true;
            linearScale.MajorGridLines.Stroke.DashStyle = ENDashStyle.Dash;

            // setup polar angle axis
            NAngularScale angularScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale;

            angularScale.MajorGridLines.Visible = true;
            angularScale.Labels.Style.Angle     = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 0);
            NScaleStrip strip = new NScaleStrip();

            strip.Fill       = new NColorFill(new NColor(192, 192, 192, 125));
            strip.Interlaced = true;
            angularScale.Strips.Add(strip);

            // add a const line
            NAxisReferenceLine referenceLine = new NAxisReferenceLine();

            referenceLine.Value  = 1.0;
            referenceLine.Stroke = new NStroke(1, NColor.SlateBlue);
            m_Chart.Axes[ENPolarAxis.PrimaryValue].ReferenceLines.Add(referenceLine);

            // create a polar line series
            NPolarLineSeries series1 = new NPolarLineSeries();

            m_Chart.Series.Add(series1);
            series1.Name           = "Series 1";
            series1.CloseContour   = true;
            series1.UseXValues     = true;
            series1.DataLabelStyle = new NDataLabelStyle(false);

            NMarkerStyle markerStyle = new NMarkerStyle();

            markerStyle.Visible = false;
            markerStyle.Size    = new NSize(2, 2);
            series1.MarkerStyle = markerStyle;
            Curve1(series1, 50);

            // create a polar line series
            NPolarLineSeries series2 = new NPolarLineSeries();

            m_Chart.Series.Add(series2);
            series2.Name           = "Series 2";
            series2.CloseContour   = true;
            series2.UseXValues     = true;
            series2.DataLabelStyle = new NDataLabelStyle(false);

            markerStyle         = new NMarkerStyle();
            markerStyle.Visible = false;
            series2.MarkerStyle = markerStyle;
            Curve2(series2, 100);

            // add a second value axes
            m_RedAxis   = m_Chart.Axes[ENPolarAxis.PrimaryValue];
            m_GreenAxis = m_Chart.AddCustomAxis(ENPolarAxisOrientation.Value);

            m_RedAxis.Anchor   = new NValueCrossPolarAxisAnchor(0.0, m_Chart.Axes[ENPolarAxis.PrimaryAngle], ENPolarAxisOrientation.Value, ENScaleOrientation.Auto);
            m_GreenAxis.Anchor = new NValueCrossPolarAxisAnchor(90, m_Chart.Axes[ENPolarAxis.PrimaryAngle], ENPolarAxisOrientation.Value, ENScaleOrientation.Auto);

            // color code the axes and series after the stylesheet is applied
            m_RedAxis.Scale.SetColor(NColor.Red);
            m_GreenAxis.Scale.SetColor(NColor.Green);

            series1.Stroke = new NStroke(2, NColor.DarkRed);
            series2.Stroke = new NStroke(2, NColor.DarkGreen);

            series2.ValueAxis = m_GreenAxis;

            return(chartView);
        }