Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateCartesianChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Axis Reference Lines";

            NCartesianChart chart = (NCartesianChart)chartView.Surface.Charts[0];

            chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XYLinear);

            // configure the y scale
            NLinearScale yScale = (NLinearScale)chart.Axes[ENCartesianAxis.PrimaryY].Scale;

            NScaleStrip stripStyle = new NScaleStrip(new NColorFill(NColor.Beige), null, true, 0, 0, 1, 1);

            stripStyle.Interlaced = true;
            yScale.Strips.Add(stripStyle);

            yScale.MajorGridLines.Visible = true;

            // Create a point series
            NPointSeries point = new NPointSeries();

            point.InflateMargins = true;
            point.UseXValues     = true;
            point.Name           = "Series 1";
            chart.Series.Add(point);

            NDataLabelStyle dataLabelStyle = new NDataLabelStyle();

            dataLabelStyle.Visible = false;
            point.DataLabelStyle   = dataLabelStyle;

            // Add some data
            double[] yValues = new double[] { 31, 67, 12, 84, 90 };
            double[] xValues = new double[] { 5, 36, 51, 76, 93 };

            for (int i = 0; i < yValues.Length; i++)
            {
                point.DataPoints.Add(new NPointDataPoint(xValues[i], yValues[i]));
            }

            // Add a constline for the left axis
            m_XReferenceLine        = new NAxisReferenceLine();
            m_XReferenceLine.Stroke = new NStroke(1, NColor.SteelBlue);
            m_XReferenceLine.Value  = 40;
            m_XReferenceLine.Text   = "X Reference Line";
            chart.Axes[ENCartesianAxis.PrimaryX].ReferenceLines.Add(m_XReferenceLine);

            // Add a constline for the bottom axis
            m_YReferenceLine        = new NAxisReferenceLine();
            m_YReferenceLine.Stroke = new NStroke(1, NColor.SteelBlue);
            m_YReferenceLine.Value  = 60;
            m_YReferenceLine.Text   = "Y Reference Line";
            chart.Axes[ENCartesianAxis.PrimaryY].ReferenceLines.Add(m_YReferenceLine);

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

            return(chartView);
        }
Exemplo n.º 3
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);
        }