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

            // configure title
            chartView.Surface.Titles[0].Text = "Standard Box and Whiskers";

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

            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

            NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENCartesianAxis.PrimaryY].Scale;
            // add interlace stripe
            NScaleStrip strip = new NScaleStrip(new NColorFill(NColor.Beige), null, true, 0, 0, 1, 1);

            strip.Interlaced = true;
            linearScale.Strips.Add(strip);

            m_BoxAndWhiskerSeries           = new NBoxAndWhiskerSeries();
            m_BoxAndWhiskerSeries.WidthMode = ENBarWidthMode.FixedWidth;
            m_Chart.Series.Add(m_BoxAndWhiskerSeries);

            m_BoxAndWhiskerSeries.Fill           = new NStockGradientFill(ENGradientStyle.Vertical, ENGradientVariant.Variant4, NColor.LightYellow, NColor.DarkOrange);
            m_BoxAndWhiskerSeries.DataLabelStyle = new NDataLabelStyle(false);
            m_BoxAndWhiskerSeries.MedianStroke   = new NStroke(NColor.Indigo);
            m_BoxAndWhiskerSeries.AverageStroke  = new NStroke(1, NColor.DarkRed, ENDashStyle.Dot);
            m_BoxAndWhiskerSeries.OutlierStroke  = new NStroke(NColor.DarkCyan);
            m_BoxAndWhiskerSeries.OutlierFill    = new NColorFill(NColor.Red);

            GenerateData(m_BoxAndWhiskerSeries, 7);

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

            // configure title
            chartView.Surface.Titles[0].Text = "Scale Breaks Appearance";

            // configure chart
            m_Chart         = (NCartesianChart)chartView.Surface.Charts[0];
            m_Chart.Padding = new NMargins(20);

            // configure axes
            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

            m_Chart.PlotFill = new NStockGradientFill(NColor.White, NColor.DarkGray);

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

            yScale.ViewRangeInflateMode = ENScaleViewRangeInflateMode.MajorTick;

            m_ScaleBreak = new NAutoScaleBreak(0.4f);
            m_ScaleBreak.PositionMode = ENScaleBreakPositionMode.Percent;
            yScale.ScaleBreaks.Add(m_ScaleBreak);

            // add an interlaced strip to the Y axis
            NScaleStrip interlacedStrip = new NScaleStrip();

            interlacedStrip.Interlaced = true;
            interlacedStrip.Fill       = new NColorFill(NColor.Beige);
            yScale.Strips.Add(interlacedStrip);

            // Create some data with a peak in it
            NBarSeries bar = new NBarSeries();

            m_Chart.Series.Add(bar);
            bar.DataLabelStyle = new NDataLabelStyle(false);

            // fill in some data so that it contains several peaks of data
            Random random = new Random();

            for (int i = 0; i < 8; i++)
            {
                bar.DataPoints.Add(new NBarDataPoint(random.Next(30)));
            }

            for (int i = 0; i < 5; i++)
            {
                bar.DataPoints.Add(new NBarDataPoint(300 + random.Next(50)));
            }

            for (int i = 0; i < 8; i++)
            {
                bar.DataPoints.Add(new NBarDataPoint(random.Next(30)));
            }

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

            return(chartView);
        }
Exemple #3
0
        private void AddAxis(string title)
        {
            NRadarAxis axis = new NRadarAxis();

            // set title
            axis.Title      = title;
            axis.TitleAngle = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 0);
//			axis.TitleTextStyle.TextFormat = TextFormat.XML;

            // setup scale
            NLinearScale linearScale = (NLinearScale)axis.Scale;

            if (m_Chart.Axes.Count == 0)
            {
                // if the first axis then configure grid style and stripes
                linearScale.MajorGridLines.Stroke = new NStroke(1, NColor.Gainsboro, ENDashStyle.Dot);

                // add interlaced stripe
                NScaleStrip strip = new NScaleStrip();
                strip.Fill       = new NColorFill(NColor.FromRGBA(200, 200, 200, 64));
                strip.Interlaced = true;
                linearScale.Strips.Add(strip);
            }
            else
            {
                // hide labels
                linearScale.Labels.Visible = false;
            }

            m_Chart.Axes.Add(axis);
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateCartesianChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Automatic Scale Breaks";

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

            // configure axes
            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

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

            yScale.ViewRangeInflateMode = ENScaleViewRangeInflateMode.MajorTick;
            yScale.MinTickDistance      = 30;

            // add an interlaced strip to the Y axis
            NScaleStrip interlacedStrip = new NScaleStrip();

            interlacedStrip.Interlaced = true;
            interlacedStrip.Fill       = new NColorFill(NColor.Beige);
            yScale.Strips.Add(interlacedStrip);

            OnChangeDataButtonClick(null);

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

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

            // configure title
            chartView.Surface.Titles[0].Text = "Axis Model Crossing";

            // configure chart
            m_Chart = (NCartesianChart)chartView.Surface.Charts[0];
            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XYLinear);

            NCartesianAxis primaryX = m_Chart.Axes[ENCartesianAxis.PrimaryX];
            NCartesianAxis primaryY = m_Chart.Axes[ENCartesianAxis.PrimaryY];

            // configure axes
            NLinearScale yScale = (NLinearScale)primaryY.Scale;

            yScale.MajorGridLines = CreateDottedGrid();

            NScaleStrip yStrip = new NScaleStrip(new NColorFill(new NColor(NColor.LightGray, 40)), null, true, 0, 0, 1, 1);

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

            NLinearScale xScale = (NLinearScale)primaryX.Scale;

            xScale.MajorGridLines = CreateDottedGrid();

            NScaleStrip xStrip = new NScaleStrip(new NColorFill(new NColor(NColor.LightGray, 40)), null, true, 0, 0, 1, 1);

            xStrip.Interlaced = true;
            xScale.Strips.Add(xStrip);

            // cross X and Y axes
            primaryX.Anchor = new NModelCrossCartesianAxisAnchor(0, ENAxisCrossAlignment.Center, primaryY, ENCartesianAxisOrientation.Horizontal, ENScaleOrientation.Right, 0.0f, 100.0f);

            primaryY.Anchor = new NModelCrossCartesianAxisAnchor(0, ENAxisCrossAlignment.Center, primaryX, ENCartesianAxisOrientation.Vertical, ENScaleOrientation.Left, 0.0f, 100.0f);

            // setup bubble series
            NBubbleSeries bubble = new NBubbleSeries();

            bubble.Name           = "Bubble Series";
            bubble.InflateMargins = true;
            bubble.DataLabelStyle = new NDataLabelStyle(false);
            bubble.UseXValues     = true;

            // fill with random data
            Random random = new Random();

            for (int i = 0; i < 10; i++)
            {
                bubble.DataPoints.Add(new NBubbleDataPoint(random.Next(-20, 20), random.Next(-20, 20), random.Next(1, 6)));
            }

            m_Chart.Series.Add(bubble);

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

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

            // configure title
            chartView.Surface.Titles[0].Text = "Series Legend View";

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

            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

            // add interlace stripe
            NLinearScale linearScale = m_Chart.Axes[ENCartesianAxis.PrimaryY].Scale as NLinearScale;
            NScaleStrip  strip       = new NScaleStrip(new NColorFill(ENNamedColor.Beige), null, true, 0, 0, 1, 1);

            strip.Interlaced = true;
            linearScale.Strips.Add(strip);

            // add a bar series
            NBarSeries bar1 = new NBarSeries();

            bar1.Name           = "Bar1";
            bar1.MultiBarMode   = ENMultiBarMode.Series;
            bar1.DataLabelStyle = new NDataLabelStyle(false);
            bar1.ValueFormatter = new NNumericValueFormatter("0.###");
            m_Chart.Series.Add(bar1);

            // add another bar series
            NBarSeries bar2 = new NBarSeries();

            bar2.Name           = "Bar2";
            bar2.MultiBarMode   = ENMultiBarMode.Clustered;
            bar2.DataLabelStyle = new NDataLabelStyle(false);
            bar2.ValueFormatter = new NNumericValueFormatter("0.###");
            m_Chart.Series.Add(bar2);

            // add another bar series
            NBarSeries bar3 = new NBarSeries();

            bar3.Name           = "Bar2";
            bar3.MultiBarMode   = ENMultiBarMode.Clustered;
            bar3.DataLabelStyle = new NDataLabelStyle(false);
            bar3.ValueFormatter = new NNumericValueFormatter("0.###");
            m_Chart.Series.Add(bar3);

            Random random = new Random();

            for (int i = 0; i < 5; i++)
            {
                bar1.DataPoints.Add(new NBarDataPoint(random.Next(10, 100)));
                bar2.DataPoints.Add(new NBarDataPoint(random.Next(10, 100)));
                bar3.DataPoints.Add(new NBarDataPoint(random.Next(10, 100)));
            }

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

            return(chartView);
        }
        protected override NWidget CreateExampleContent()
        {
            NStackPanel stack = new NStackPanel();

            NStackPanel controlStack = new NStackPanel();

            stack.Add(controlStack);

            NRadialGauge radialGauge = new NRadialGauge();

            radialGauge.PreferredSize       = defaultRadialGaugeSize;
            radialGauge.CapEffect           = new NGlassCapEffect();
            radialGauge.Dial                = new NDial(ENDialShape.Circle, new NEdgeDialRim());
            radialGauge.Dial.BackgroundFill = NAdvancedGradientFill.Create(ENAdvancedGradientColorScheme.Ocean2, 0);

            // configure scale
            NGaugeAxis axis = new NGaugeAxis();

            radialGauge.Axes.Add(axis);
            NLinearScale scale = axis.Scale as NLinearScale;

            scale.SetPredefinedScale(ENPredefinedScaleStyle.PresentationNoStroke);
            scale.Labels.OverlapResolveLayouts = new NDomArray <ENLevelLabelsLayout>();
            scale.MinorTickCount              = 3;
            scale.Ruler.Fill                  = new NColorFill(NColor.FromColor(NColor.White, 0.4f));
            scale.OuterMajorTicks.Fill        = new NColorFill(NColor.Orange);
            scale.Labels.Style.TextStyle.Font = new NFont("Arimo", 12.0, ENFontStyle.Bold | ENFontStyle.Italic);
            scale.Labels.Style.TextStyle.Fill = new NColorFill(NColor.White);

            m_Axis = (NGaugeAxis)radialGauge.Axes[0];

            controlStack.Add(radialGauge);

            m_Indicator1               = new NRangeIndicator();
            m_Indicator1.Value         = 50;
            m_Indicator1.Fill          = new NColorFill(NColor.LightBlue);
            m_Indicator1.Stroke.Color  = NColor.DarkBlue;
            m_Indicator1.EndWidth      = 20;
            m_Indicator1.AllowDragging = true;
            radialGauge.Indicators.Add(m_Indicator1);

            m_Indicator2               = new NNeedleValueIndicator();
            m_Indicator2.Value         = 79;
            m_Indicator2.Fill          = new NStockGradientFill(ENGradientStyle.Horizontal, ENGradientVariant.Variant1, NColor.White, NColor.Red);
            m_Indicator2.Stroke.Color  = NColor.Red;
            m_Indicator2.AllowDragging = true;
            radialGauge.Indicators.Add(m_Indicator2);

            m_Indicator3               = new NMarkerValueIndicator();
            m_Indicator3.Value         = 90;
            m_Indicator3.AllowDragging = true;
            radialGauge.Indicators.Add(m_Indicator3);

            radialGauge.SweepAngle = new NAngle(270.0, NUnit.Degree);

            return(stack);
        }
Exemple #8
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateCartesianChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Stacked Percent Bar";

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

            chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

            // add interlace stripe
            NLinearScale linearScale = (NLinearScale)chart.Axes[ENCartesianAxis.PrimaryY].Scale;

            linearScale.Labels.TextProvider = new NFormattedScaleLabelTextProvider(new NNumericValueFormatter("P"));
            NScaleStrip stripStyle = new NScaleStrip(new NColorFill(NColor.Beige), null, true, 0, 0, 1, 1);

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

            // add the first bar
            m_Bar1              = new NBarSeries();
            m_Bar1.Name         = "Bar1";
            m_Bar1.MultiBarMode = ENMultiBarMode.Series;
            chart.Series.Add(m_Bar1);

            // add the second bar
            m_Bar2              = new NBarSeries();
            m_Bar2.Name         = "Bar2";
            m_Bar2.MultiBarMode = ENMultiBarMode.StackedPercent;
            chart.Series.Add(m_Bar2);

            // add the third bar
            m_Bar3              = new NBarSeries();
            m_Bar3.Name         = "Bar3";
            m_Bar3.MultiBarMode = ENMultiBarMode.StackedPercent;
            chart.Series.Add(m_Bar3);

            // setup value formatting
            m_Bar1.ValueFormatter = new NNumericValueFormatter("0.###");
            m_Bar2.ValueFormatter = new NNumericValueFormatter("0.###");
            m_Bar3.ValueFormatter = new NNumericValueFormatter("0.###");

            // position data labels in the center of the bars
            m_Bar1.DataLabelStyle = CreateDataLabelStyle();
            m_Bar2.DataLabelStyle = CreateDataLabelStyle();
            m_Bar3.DataLabelStyle = CreateDataLabelStyle();

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

            // pass some data
            OnPositiveDataButtonClick(null);

            return(chartView);
        }
Exemple #9
0
        protected override NWidget CreateExampleContent()
        {
            NStackPanel stack = new NStackPanel();

            stack.HorizontalPlacement = Layout.ENHorizontalPlacement.Left;

            NStackPanel controlStack = new NStackPanel();

            stack.Add(controlStack);

            // create the radial gauge
            m_RadialGauge = new NRadialGauge();

            m_RadialGauge.PreferredSize       = defaultRadialGaugeSize;
            m_RadialGauge.CapEffect           = new NGlassCapEffect();
            m_RadialGauge.Dial                = new NDial(ENDialShape.CutCircle, new NEdgeDialRim());
            m_RadialGauge.Dial.BackgroundFill = new NStockGradientFill(NColor.DarkGray, NColor.Black);

            // configure scale
            NGaugeAxis axis = new NGaugeAxis();

            m_RadialGauge.Axes.Add(axis);

            NLinearScale scale = (NLinearScale)axis.Scale;

            scale.SetPredefinedScale(ENPredefinedScaleStyle.Presentation);
            scale.Labels.Style.TextStyle.Font = new NFont("Arimo", 10, ENFontStyle.Bold);
            scale.Labels.Style.TextStyle.Fill = new NColorFill(NColor.White);
            scale.Labels.Style.Angle          = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 90.0);
            scale.MinorTickCount     = 4;
            scale.Ruler.Stroke.Width = 0;
            scale.Ruler.Fill         = new NColorFill(NColor.DarkGray);

            // add radial gauge indicators
            m_RangeIndicator          = new NRangeIndicator();
            m_RangeIndicator.Value    = 20;
            m_RangeIndicator.Palette  = new NTwoColorPalette(NColor.Green, NColor.Red);
            m_RangeIndicator.Stroke   = null;
            m_RangeIndicator.EndWidth = 20;
            m_RadialGauge.Indicators.Add(m_RangeIndicator);

            m_ValueIndicator              = new NNeedleValueIndicator();
            m_ValueIndicator.Value        = 79;
            m_ValueIndicator.Fill         = new NStockGradientFill(ENGradientStyle.Horizontal, ENGradientVariant.Variant1, NColor.White, NColor.Red);
            m_ValueIndicator.Stroke.Color = NColor.Red;

            m_ValueIndicator.OffsetFromCenter = -20;

            m_RadialGauge.Indicators.Add(m_ValueIndicator);
            m_RadialGauge.SweepAngle = new NAngle(270.0, NUnit.Degree);

            // add radial gauge
            controlStack.Add(m_RadialGauge);

            return(stack);
        }
Exemple #10
0
 private void ConfigureScale(NLinearScale scale)
 {
     scale.SetPredefinedScale(ENPredefinedScaleStyle.PresentationNoStroke);
     scale.Labels.OverlapResolveLayouts = new NDomArray <ENLevelLabelsLayout>();
     scale.MinorTickCount              = 3;
     scale.Ruler.Fill                  = new NColorFill(NColor.FromColor(NColor.White, 0.4f));
     scale.OuterMajorTicks.Fill        = new NColorFill(NColor.Orange);
     scale.Labels.Style.TextStyle.Font = new NFont("Arimo", 10.0, ENFontStyle.Bold);
     scale.Labels.Style.TextStyle.Fill = new NColorFill(NColor.White);
 }
        /// <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);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateCartesianChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Legend Appearance";

            m_Legend            = chartView.Surface.Legends[0];
            m_Legend.ExpandMode = ENLegendExpandMode.ColsFixed;
            m_Legend.ColCount   = 3;

            m_Legend.Border            = NBorder.CreateFilledBorder(NColor.Black);
            m_Legend.BorderThickness   = new NMargins(2);
            m_Legend.BackgroundFill    = new NStockGradientFill(NColor.White, NColor.LightGray);
            m_Legend.VerticalPlacement = Layout.ENVerticalPlacement.Top;

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

            chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

            // add interlace stripe
            NLinearScale linearScale = chart.Axes[ENCartesianAxis.PrimaryY].Scale as NLinearScale;
            NScaleStrip  strip       = new NScaleStrip(new NColorFill(ENNamedColor.Beige), null, true, 0, 0, 1, 1);

            strip.Interlaced = true;
            //linearScale.Strips.Add(strip);

            // setup a bar series
            NBarSeries bar = new NBarSeries();

            bar.Name            = "Bar Series";
            bar.InflateMargins  = true;
            bar.UseXValues      = false;
            bar.LegendView.Mode = ENSeriesLegendMode.DataPoints;

            // add some data to the bar series
            bar.LegendView.Mode = ENSeriesLegendMode.DataPoints;
            bar.DataPoints.Add(new NBarDataPoint(18, "C++"));
            bar.DataPoints.Add(new NBarDataPoint(15, "Ruby"));
            bar.DataPoints.Add(new NBarDataPoint(21, "Python"));
            bar.DataPoints.Add(new NBarDataPoint(23, "Java"));
            bar.DataPoints.Add(new NBarDataPoint(27, "Javascript"));
            bar.DataPoints.Add(new NBarDataPoint(29, "C#"));
            bar.DataPoints.Add(new NBarDataPoint(26, "PHP"));
            bar.DataPoints.Add(new NBarDataPoint(17, "Objective C"));
            bar.DataPoints.Add(new NBarDataPoint(24, "SQL"));
            bar.DataPoints.Add(new NBarDataPoint(13, "Object Pascal"));
            bar.DataPoints.Add(new NBarDataPoint(19, "Visual Basic"));
            bar.DataPoints.Add(new NBarDataPoint(16, "Open Edge ABL"));

            chart.Series.Add(bar);

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

            // configure title
            chartView.Surface.Titles[0].Text = "Axis Labels Orientation";

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

            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.PrimaryAndSecondaryLinear);

            for (int i = 0; i < m_Chart.Axes.Count; i++)
            {
                // configure the axes
                NCartesianAxis axis = m_Chart.Axes[i];

                // set the range to [0, 100]
                axis.ViewRangeMode     = ENAxisViewRangeMode.FixedRange;
                axis.MinViewRangeValue = 0;
                axis.MaxViewRangeValue = 100;

                NLinearScale linearScale = (NLinearScale)axis.Scale;

                string title = string.Empty;
                switch (i)
                {
                case 0:
                    title = "Primary Y";
                    break;

                case 1:
                    title = "Primary X";
                    break;

                case 2:
                    title = "Secondary Y";
                    break;

                case 3:
                    title = "Secondary X";
                    break;
                }

                linearScale.Title.Text                     = title;
                linearScale.MinTickDistance                = 30;
                linearScale.Labels.Style.Angle             = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 0, false);
                linearScale.Labels.Style.AlwaysInsideScale = true;
                linearScale.Labels.OverlapResolveLayouts   = new NDomArray <ENLevelLabelsLayout>(new ENLevelLabelsLayout[] { ENLevelLabelsLayout.Stagger2 });
            }

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

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

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

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

            chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

            // setup X axis
            NOrdinalScale scaleX = (NOrdinalScale)chart.Axes[ENCartesianAxis.PrimaryX].Scale;

            scaleX.InflateContentRange           = false;
            scaleX.MajorTickMode                 = ENMajorTickMode.AutoMaxCount;
            scaleX.DisplayDataPointsBetweenTicks = false;
            scaleX.Labels.Visible                = false;

            for (int i = 0; i < monthLetters.Length; i++)
            {
                scaleX.CustomLabels.Add(new NCustomValueLabel(i, monthLetters[i]));
            }

            // add interlaced stripe for Y axis
            NScaleStrip stripStyle = new NScaleStrip(new NColorFill(NColor.Beige), null, true, 0, 0, 1, 1);

            stripStyle.Interlaced = true;

            NLinearScale scaleY = (NLinearScale)chart.Axes[ENCartesianAxis.PrimaryY].Scale;

            scaleY.Strips.Add(stripStyle);

            // setup area series
            m_Area      = new NAreaSeries();
            m_Area.Name = "Area Series";

            NDataLabelStyle dataLabelStyle = new NDataLabelStyle();

            dataLabelStyle.Visible = true;
            dataLabelStyle.Format  = "<value>";

            m_Area.DataLabelStyle = dataLabelStyle;

            for (int i = 0; i < monthValues.Length; i++)
            {
                m_Area.DataPoints.Add(new NAreaDataPoint(monthValues[i]));
            }

            chart.Series.Add(m_Area);

            return(chartView);
        }
Exemple #15
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateCartesianChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Ordinal Scale";

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

            // configure axes
            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

            // add interlaced stripe to the Y axis
            NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENCartesianAxis.PrimaryY].Scale;
            NScaleStrip  stripStyle  = new NScaleStrip();

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

            // add some series
            int        dataItemsCount = 6;
            NBarSeries bar            = new NBarSeries();

            bar.InflateMargins = true;
            bar.DataLabelStyle = new NDataLabelStyle(false);

            Random random = new Random();

            for (int i = 0; i < dataItemsCount; i++)
            {
                bar.DataPoints.Add(new NBarDataPoint(random.Next(10, 30)));
            }

            m_Chart.Series.Add(bar);

            NOrdinalScale ordinalScale = (NOrdinalScale)m_Chart.Axes[ENCartesianAxis.PrimaryX].Scale;

            ordinalScale.Labels.OverlapResolveLayouts = new NDomArray <ENLevelLabelsLayout>(new ENLevelLabelsLayout[] { ENLevelLabelsLayout.AutoScale });

            NList <string> labels = new NList <string>();

            for (int j = 0; j < dataItemsCount; j++)
            {
                labels.Add("Category " + j.ToString());
            }

            ordinalScale.Labels.TextProvider = new NOrdinalScaleLabelTextProvider(labels);

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

            return(chartView);
        }
Exemple #16
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);
        }
Exemple #17
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateRadarChartView();

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

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

            AddAxis("Vitamin A");
            AddAxis("Vitamin B1");
            AddAxis("Vitamin B2");
            AddAxis("Vitamin B6");
            AddAxis("Vitamin B12");
            AddAxis("Vitamin C");
            AddAxis("Vitamin D");
            AddAxis("Vitamin E");

            NLinearScale radarScale = (NLinearScale)m_Chart.Axes[0].Scale;

            radarScale.MajorGridLines.Visible = true;

            NScaleStrip strip = new NScaleStrip(new NColorFill(ENNamedColor.Beige), null, true, 0, 0, 1, 1);

            strip.Interlaced = true;
            radarScale.Strips.Add(strip);

            // create the radar series
            m_RadarArea1 = new NRadarAreaSeries();
            m_Chart.Series.Add(m_RadarArea1);
            m_RadarArea1.Name                  = "Series 1";
            m_RadarArea1.DataLabelStyle        = new NDataLabelStyle(false);
            m_RadarArea1.DataLabelStyle.Format = "<value>";

            m_RadarArea2 = new NRadarAreaSeries();
            m_Chart.Series.Add(m_RadarArea2);
            m_RadarArea2.Name           = "Series 2";
            m_RadarArea2.DataLabelStyle = new NDataLabelStyle(false);

            // fill random data
            Random random = new Random();

            for (int i = 0; i < 8; i++)
            {
                m_RadarArea1.DataPoints.Add(new NRadarAreaDataPoint(random.Next(50, 90)));
                m_RadarArea2.DataPoints.Add(new NRadarAreaDataPoint(random.Next(0, 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 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);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateCartesianChartView();

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

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

            chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XYLinear);

            // add interlace stripe
            NLinearScale linearScale = (NLinearScale)chart.Axes[ENCartesianAxis.PrimaryY].Scale;
            NScaleStrip  stripStyle  = new NScaleStrip(new NColorFill(NColor.Beige), null, true, 0, 0, 1, 1);

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

            // show the x axis grid lines
            linearScale = (NLinearScale)chart.Axes[ENCartesianAxis.PrimaryX].Scale;

            NScaleGridLines majorGrid = new NScaleGridLines();

            majorGrid.Visible          = true;
            linearScale.MajorGridLines = majorGrid;

            // add the area series
            m_Area      = new NAreaSeries();
            m_Area.Name = "Area Series";

            NDataLabelStyle dataLabelStyle = new NDataLabelStyle();

            dataLabelStyle.Visible           = true;
            dataLabelStyle.ArrowStroke.Width = 0;
            dataLabelStyle.Format            = "<value>";
            m_Area.DataLabelStyle            = dataLabelStyle;

            m_Area.UseXValues = true;

            // add xy values
            m_Area.DataPoints.Add(new NAreaDataPoint(12, 10));
            m_Area.DataPoints.Add(new NAreaDataPoint(25, 23));
            m_Area.DataPoints.Add(new NAreaDataPoint(45, 12));
            m_Area.DataPoints.Add(new NAreaDataPoint(55, 24));
            m_Area.DataPoints.Add(new NAreaDataPoint(61, 16));
            m_Area.DataPoints.Add(new NAreaDataPoint(69, 19));
            m_Area.DataPoints.Add(new NAreaDataPoint(78, 17));

            chart.Series.Add(m_Area);

            return(chartView);
        }
        private NLinearScale CreateLinearScale(NColor color)
        {
            NLinearScale linearScale = new NLinearScale();

            linearScale.Ruler.Stroke                = new NStroke(1, color);
            linearScale.InnerMajorTicks.Stroke      = new NStroke(color);
            linearScale.OuterMajorTicks.Stroke      = new NStroke(color);
            linearScale.MajorGridLines.Visible      = false;
            linearScale.Labels.Style.TextStyle.Fill = new NColorFill(color);

            return(linearScale);
        }
        void OnAxisLabelChanged(NValueChangeEventArgs arg)
        {
            NCartesianChart chart = (NCartesianChart)m_ChartView.Surface.Charts[0];

            for (int i = 0; i < chart.Axes.Count; i++)
            {
                // configure the axes
                NLinearScale scale = (NLinearScale)chart.Axes[i].Scale;

                scale.Labels.Style.Angle = new NScaleLabelAngle((ENScaleLabelAngleMode)m_AngleModeComboBox.SelectedIndex, (float)m_CustomAngleNumericUpDown.Value, m_AllowLabelsToFlipCheckBox.Checked);
            }
        }
Exemple #22
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateCartesianChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Standard Bubble";

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

            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

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

            yScale.MajorGridLines = new NScaleGridLines();
            yScale.MajorGridLines.Stroke.DashStyle = ENDashStyle.Dot;

            // add interlace stripe
            NScaleStrip strip = new NScaleStrip(new NColorFill(NColor.Beige), null, true, 0, 0, 1, 1);

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

            NOrdinalScale xScale = (NOrdinalScale)m_Chart.Axes[ENCartesianAxis.PrimaryX].Scale;

            xScale.MajorGridLines = new NScaleGridLines();
            xScale.MajorGridLines.Stroke.DashStyle = ENDashStyle.Dot;

            // add a bubble series
            m_Bubble = new NBubbleSeries();

            m_Bubble.DataLabelStyle           = new NDataLabelStyle();
            m_Bubble.DataLabelStyle.VertAlign = ENVerticalAlignment.Center;
            m_Bubble.DataLabelStyle.Visible   = false;
            m_Bubble.LegendView.Mode          = ENSeriesLegendMode.DataPoints;
            m_Bubble.MinSize = 20;
            m_Bubble.MaxSize = 100;

            m_Bubble.DataPoints.Add(new NBubbleDataPoint(10, 10, "Company 1"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(15, 20, "Company 2"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(12, 25, "Company 3"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(8, 15, "Company 4"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(14, 17, "Company 5"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(11, 12, "Company 6"));

            m_Chart.Series.Add(m_Bubble);

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

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

            // configure title
            chartView.Surface.Titles[0].Text = "XY Scatter Bubble";

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

            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XYLinear);

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

            yScale.MajorGridLines = new NScaleGridLines();
            yScale.MajorGridLines.Stroke.DashStyle = ENDashStyle.Dot;

            // add interlace stripe
            NScaleStrip strip = new NScaleStrip(new NColorFill(NColor.Beige), null, true, 0, 0, 1, 1);

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

            NLinearScale xScale = (NLinearScale)m_Chart.Axes[ENCartesianAxis.PrimaryX].Scale;

            xScale.MajorGridLines = new NScaleGridLines();
            xScale.MajorGridLines.Stroke.DashStyle = ENDashStyle.Dot;

            // add a bubble series
            m_Bubble = new NBubbleSeries();

            m_Bubble = new NBubbleSeries();
            m_Bubble.DataLabelStyle    = new NDataLabelStyle(false);
            m_Bubble.LegendView.Format = "<label>";
            m_Bubble.LegendView.Mode   = ENSeriesLegendMode.DataPoints;
            m_Bubble.UseXValues        = true;

            m_Bubble.DataPoints.Add(new NBubbleDataPoint(27, 51, 1147995904, "India"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(50, 67, 1321851888, "China"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(76, 22, 109955400, "Mexico"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(210, 9, 142008838, "Russia"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(360, 4, 305843000, "USA"));
            m_Bubble.DataPoints.Add(new NBubbleDataPoint(470, 5, 33560000, "Canada"));

            m_Chart.Series.Add(m_Bubble);

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

            return(chartView);
        }
Exemple #24
0
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateCartesianChartView();

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

            // configure chart
            m_Chart = (NCartesianChart)chartView.Surface.Charts[0];
            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

            // add interlace stripe
            NLinearScale linearScale = m_Chart.Axes[ENCartesianAxis.PrimaryY].Scale as NLinearScale;
            NScaleStrip  strip       = new NScaleStrip(new NColorFill(ENNamedColor.Beige), null, true, 0, 0, 1, 1);

            strip.Interlaced = true;
            linearScale.Strips.Add(strip);

            // setup an area series
            m_Area                = new NAreaSeries();
            m_Area.Name           = "Area Series";
            m_Area.InflateMargins = true;
            m_Area.UseXValues     = false;
            m_Area.DataLabelStyle = new NDataLabelStyle(false);

            m_Area.Palette = new NColorValuePalette(new NColorValuePair[] { new NColorValuePair(0, NColor.Green), new NColorValuePair(60, NColor.Yellow), new NColorValuePair(120, NColor.Red) });

            m_AxisRange = new NRange(0, 130);

            // limit the axis range to 0, 130
            NCartesianAxis yAxis = m_Chart.Axes[ENCartesianAxis.PrimaryY];

            yAxis.ViewRangeMode     = ENAxisViewRangeMode.FixedRange;
            yAxis.MinViewRangeValue = m_AxisRange.Begin;
            yAxis.MaxViewRangeValue = m_AxisRange.End;
            m_Chart.Series.Add(m_Area);

            int indicatorCount = 10;

            m_IndicatorPhase = new double[indicatorCount];

            // add some data to the area series
            for (int i = 0; i < indicatorCount; i++)
            {
                m_IndicatorPhase[i] = i * 30;
                m_Area.DataPoints.Add(new NAreaDataPoint(0));
            }

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

            chartView.Surface.Titles[0].Text = "Axis Ticks";

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

            // configure axes
            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);
            NLinearScale scaleY = (NLinearScale)m_Chart.Axes[ENCartesianAxis.PrimaryY].Scale;

            scaleY.MinorTickCount          = 1;
            scaleY.InnerMinorTicks.Visible = true;
            scaleY.InnerMinorTicks.Stroke  = new NStroke(1, NColor.Black);
            scaleY.InnerMinorTicks.Length  = 5;

            scaleY.OuterMinorTicks.Visible = true;
            scaleY.OuterMinorTicks.Stroke  = new NStroke(1, NColor.Black);
            scaleY.OuterMinorTicks.Length  = 5;

            scaleY.InnerMajorTicks.Visible = true;
            scaleY.InnerMajorTicks.Stroke  = new NStroke(1, NColor.Black);

            // add interlaced stripe
            NScaleStrip strip = new NScaleStrip(new NColorFill(NColor.Beige), null, true, 0, 0, 1, 1);

            strip.Interlaced = true;
            scaleY.Strips.Add(strip);

            NOrdinalScale scaleX = (NOrdinalScale)m_Chart.Axes[ENCartesianAxis.PrimaryX].Scale;

            // create dummy data
            NBarSeries bar = new NBarSeries();

            bar.Name = "Bars";
            Random random = new Random();

            for (int i = 0; i < 10; i++)
            {
                bar.DataPoints.Add(new NBarDataPoint(random.Next(100)));
            }

            m_Chart.Series.Add(bar);

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

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

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

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

            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XYLinear);

            // setup X axis
            NLinearScale scaleX = new NLinearScale();

            scaleX.MajorGridLines                        = new NScaleGridLines();
            scaleX.MajorGridLines.Visible                = true;
            scaleX.MajorGridLines.Stroke.DashStyle       = ENDashStyle.Dot;
            m_Chart.Axes[ENCartesianAxis.PrimaryX].Scale = scaleX;

            // setup Y axis
            NLinearScale scaleY = new NLinearScale();

            scaleY.MajorGridLines                        = new NScaleGridLines();
            scaleY.MajorGridLines.Visible                = true;
            scaleY.MajorGridLines.Stroke.DashStyle       = ENDashStyle.Dot;
            m_Chart.Axes[ENCartesianAxis.PrimaryY].Scale = scaleY;

            // add a point series
            m_Point                = new NPointSeries();
            m_Point.Name           = "Point Series";
            m_Point.DataLabelStyle = new NDataLabelStyle(false);
            m_Point.Fill           = new NColorFill(NColor.DarkOrange);
            m_Point.Size           = 10;
            m_Point.Shape          = ENPointShape.Ellipse;
            m_Point.UseXValues     = true;
            m_Chart.Series.Add(m_Point);

            for (int i = 0; i < 360; i += 5)
            {
                double value = Math.Sin(NAngle.Degree2Rad * i);

                m_Point.DataPoints.Add(new NPointDataPoint(i, value));
            }

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

            return(chartView);
        }
Exemple #27
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreateCartesianChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Value Timeline Scale";

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

            // configure axes
            m_Chart.SetPredefinedCartesianAxes(ENPredefinedCartesianAxis.XOrdinalYLinear);

            // setup X axis
            NCartesianAxis axis = m_Chart.Axes[ENCartesianAxis.PrimaryX];

            m_TimeLineScale = new NValueTimelineScale();
            axis.Scale      = m_TimeLineScale;

            // setup primary Y axis
            axis = m_Chart.Axes[ENCartesianAxis.PrimaryY];
            NLinearScale linearScale = (NLinearScale)axis.Scale;

            // configure ticks and grid lines
            linearScale.MajorGridLines.Stroke   = new NStroke(NColor.LightGray);
            linearScale.InnerMajorTicks.Visible = false;

            // add interlaced stripe
            NScaleStrip strip = new NScaleStrip();

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

            // Setup the stock series
            m_Stock = new NStockSeries();
            m_Chart.Series.Add(m_Stock);

            m_Stock.DataLabelStyle = new NDataLabelStyle(false);
            m_Stock.CandleShape    = ENCandleShape.Stick;
            m_Stock.CandleWidth    = 4;
            m_Stock.UseXValues     = true;

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

            OnWeeklyDataButtonClick(null);

            return(chartView);
        }
Exemple #28
0
        void OnYAxisDecimalPlacesValueChanged(NValueChangeEventArgs arg)
        {
            int decimalPlaces = (int)((NNumericUpDown)arg.TargetNode).Value;

            string format = ".";

            for (int i = 0; i < decimalPlaces; i++)
            {
                format += "0";
            }

            NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENCartesianAxis.PrimaryY].Scale;

            linearScale.Labels.TextProvider = new NFormattedScaleLabelTextProvider(new NNumericValueFormatter(format));
        }
        void OnXAxisRoundToTickCheckBoxCheckedChanged(NValueChangeEventArgs arg)
        {
            NCartesianChart chart       = (NCartesianChart)m_ChartView.Surface.Charts[0];
            NLinearScale    linearScale = (NLinearScale)chart.Axes[ENCartesianAxis.PrimaryX].Scale;

            if ((arg.TargetNode as NCheckBox).Checked)
            {
                linearScale.ViewRangeInflateMode  = ENScaleViewRangeInflateMode.MajorTick;
                linearScale.InflateViewRangeBegin = true;
                linearScale.InflateViewRangeEnd   = true;
            }
            else
            {
                linearScale.ViewRangeInflateMode = ENScaleViewRangeInflateMode.Logical;
            }
        }
        void OnYAxisRoundToTickCheckBoxCheckedChanged(NValueChangeEventArgs arg)
        {
            NLinearScale yScale = (NLinearScale)m_Chart.Axes[ENCartesianAxis.PrimaryY].Scale;

            if (((NCheckBox)arg.TargetNode).Checked)
            {
                yScale.ViewRangeInflateMode  = ENScaleViewRangeInflateMode.MajorTick;
                yScale.InflateViewRangeBegin = true;
                yScale.InflateViewRangeEnd   = true;
            }
            else
            {
                yScale.InflateViewRangeBegin = false;
                yScale.InflateViewRangeEnd   = false;
            }
        }