Example #1
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);
        }
        private void AddAxis(NRadarChart radarChart, string title)
        {
            NRadarAxis axis = new NRadarAxis();

            // set title
            axis.Title      = title;
            axis.TitleAngle = new NScaleLabelAngle(ScaleLabelAngleMode.View, 0);

            // setup scale
            NLinearScaleConfigurator linearScale = (NLinearScaleConfigurator)axis.ScaleConfigurator;

            linearScale.RulerStyle.BorderStyle.Color        = Color.Silver;
            linearScale.InnerMajorTickStyle.LineStyle.Color = Color.Silver;
            linearScale.OuterMajorTickStyle.LineStyle.Color = Color.Silver;
            linearScale.InnerMajorTickStyle.Length          = new NLength(2, NGraphicsUnit.Point);
            linearScale.OuterMajorTickStyle.Length          = new NLength(2, NGraphicsUnit.Point);

            if (radarChart.Axes.Count == 0)
            {
                // if the first axis then configure grid style and stripes
                linearScale.MajorGridStyle.LineStyle.Color   = Color.Gainsboro;
                linearScale.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;
                linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Radar, true);
            }
            else
            {
                // hide labels
                linearScale.AutoLabels = false;
            }

            radarChart.Axes.Add(axis);
        }
Example #3
0
        private void UpdateTitleLabels()
        {
            if (m_Updating || nChartControl1 == null)
            {
                return;
            }

            ScaleLabelAngleMode mode = (ScaleLabelAngleMode)TitleAngleModeComboBox.SelectedIndex;
            float angle = (float)TitleAngleNumericUpDown.Value;

            for (int i = 0; i < m_Chart.Axes.Count; i++)
            {
                NRadarAxis axis = (NRadarAxis)m_Chart.Axes[i];
                axis.TitleAngle = new NScaleLabelAngle(mode, angle);

                axis.TitleOffset             = new NLength((float)TitleOffsetNumericUpDown.Value);
                axis.TitlePositionMode       = (RadarTitlePositionMode)TitlePositionModeComboBox.SelectedIndex;
                axis.TitleFitMode            = (RadarTitleFitMode)TitleFitModeComboBox.SelectedIndex;
                axis.TitleMaxWidth           = new NLength((float)TitleMaxWidthNumericUpDown.Value);
                axis.TitleAutomaticAlignment = TitleAutomaticAlignmentCheckBox.Checked;
            }

            TitleMaxWidthNumericUpDown.Enabled = TitleFitModeComboBox.SelectedIndex == (int)RadarTitleFitMode.Wrap;

            nChartControl1.Refresh();
        }
Example #4
0
        private void UpdateTitleLabels()
        {
            ScaleLabelAngleMode mode = (ScaleLabelAngleMode)TitleAngleModeComboBox.SelectedIndex;
            float angle = (float)TitleAngleNumericUpDown.Value;

            for (int i = 0; i < m_Chart.Axes.Count; i++)
            {
                NRadarAxis axis = (NRadarAxis)m_Chart.Axes[i];
                axis.TitleAngle = new NScaleLabelAngle(mode, angle);
            }

            nChartControl1.Refresh();
        }
Example #5
0
        private void AddAxis(NRadarChart radar, string title, bool applyKFormatting)
        {
            NRadarAxis axis = new NRadarAxis();

            // set title
            axis.Title = title;
            radar.Axes.Add(axis);

            if (applyKFormatting)
            {
                NLinearScaleConfigurator linearScale = axis.ScaleConfigurator as NLinearScaleConfigurator;
                linearScale.LabelValueFormatter = new NNumericValueFormatter("0,K");
            }
        }
Example #6
0
        private void AddAxis(NRadarChart radar, string title, bool applyKFormatting)
        {
            NRadarAxis axis = new NRadarAxis();

            // set title
            axis.Title = title;
            radar.Axes.Add(axis);

            NLinearScale linearScale = axis.Scale as NLinearScale;

            linearScale.MajorGridLines.Visible = false;

            if (applyKFormatting)
            {
                linearScale.Labels.TextProvider = new NFormattedScaleLabelTextProvider(new NNumericValueFormatter("0,K"));
            }
        }
Example #7
0
        private void AddRadarAxis(NRadarChart chart, string title)
        {
            NRadarAxis axis = new NRadarAxis();

            // set title
            axis.Title = title;

            // the axis scale should start from 0
            axis.View = new NRangeAxisView(new NRange1DD(0, 0), true, false);

            // setup scale
            NLinearScaleConfigurator linearScale = (NLinearScaleConfigurator)axis.ScaleConfigurator;

            linearScale.RulerStyle.BorderStyle.Color        = Color.Silver;
            linearScale.InnerMajorTickStyle.LineStyle.Color = Color.Silver;
            linearScale.OuterMajorTickStyle.LineStyle.Color = Color.Silver;
            linearScale.InnerMajorTickStyle.Length          = new NLength(2, NGraphicsUnit.Point);
            linearScale.OuterMajorTickStyle.Length          = new NLength(2, NGraphicsUnit.Point);

            if (chart.Axes.Count == 0)
            {
                // if the first axis then configure grid style and stripes
                linearScale.MajorGridStyle.LineStyle.Color   = Color.Gainsboro;
                linearScale.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;
                linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Radar, true);

                // add interlaced stripe
                NScaleStripStyle strip = new NScaleStripStyle();
                strip.FillStyle  = new NColorFillStyle(Color.FromArgb(64, 200, 200, 200));
                strip.Interlaced = true;
                strip.SetShowAtWall(ChartWallType.Radar, true);
                linearScale.StripStyles.Add(strip);
            }
            else
            {
                // hide labels
                linearScale.AutoLabels = false;
            }

            chart.Axes.Add(axis);
        }
Example #8
0
        public override void Initialize()
        {
            base.Initialize();

            nChartControl1.Panels.Clear();

            // set a chart title
            NLabel title = new NLabel("Montana County Comparison<br/><font size = '9pt'>Demonstrates how to create a multi measure radar chart</font>");

            title.TextStyle.FontStyle  = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.TextStyle.TextFormat = TextFormat.XML;
            title.ContentAlignment     = ContentAlignment.BottomRight;
            title.Location             = new NPointL(new NLength(2, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage));
            title.DockMode             = PanelDockMode.Top;
            title.Margins = new NMarginsL(0, 5, 0, 5);
            nChartControl1.Panels.Add(title);

            NLegend legend = new NLegend();

            legend.DockMode = PanelDockMode.Right;
            legend.Margins  = new NMarginsL(5, 0, 5, 0);
            nChartControl1.Panels.Add(legend);

            // setup chart
            NRadarChart radarChart = new NRadarChart();

            radarChart.Margins = new NMarginsL(5, 0, 0, 5);
            nChartControl1.Panels.Add(radarChart);
            radarChart.DisplayOnLegend = legend;
            radarChart.DockMode        = PanelDockMode.Fill;
            radarChart.RadarMode       = RadarMode.MultiMeasure;
            radarChart.InnerRadius     = new NLength(10, NRelativeUnit.ParentPercentage);

            // set some axis labels
            AddAxis(radarChart, "Population", true);
            AddAxis(radarChart, "Housing Units", true);
            AddAxis(radarChart, "Water", false);
            AddAxis(radarChart, "Land", true);
            AddAxis(radarChart, "Population\r\nDensity", false);
            AddAxis(radarChart, "Housing\r\nDensity", false);

            float angleStep = 180.0f / (radarChart.Axes.Count - 1);

            for (int i = 0; i < radarChart.Axes.Count; i++)
            {
                NRadarAxis radarAxis = (NRadarAxis)radarChart.Axes[i];

                ((NRadarAxisAnchor)radarAxis.Anchor).UseCustomAngle = true;
                ((NRadarAxisAnchor)radarAxis.Anchor).CustomAngle    = i * angleStep;
            }

            // sample data
            object[] data = new object[] {
                "Cascade County", 80357, 35225, 13.75, 2697.90, 29.8, 13.1,
                "Custer County", 11696, 5360, 10.09, 3783.13, 3.1, 1.4,
                "Dawson County", 9059, 4168, 9.99, 2373.14, 3.8, 1.8,
                "Jefferson County", 10049, 4199, 2.19, 1656.64, 6.1, 2.5,
                "Missoula County", 95802, 41319, 20.37, 2597.97, 36.9, 15.9,
                "Powell County", 7180, 2930, 6.74, 2325.94, 3.1, 1.3
            };

            for (int i = 0; i < 6; i++)
            {
                NRadarLineSeries radarLine = new NRadarLineSeries();
                radarChart.Series.Add(radarLine);

                int baseIndex = i * 7;
                radarLine.Name = data[baseIndex].ToString();
                baseIndex      = baseIndex + 1;

                for (int j = 0; j < 6; j++)
                {
                    radarLine.Values.Add(System.Convert.ToDouble(data[baseIndex]));
                    baseIndex = baseIndex + 1;
                }

                radarLine.DataLabelStyle.Visible = false;
                radarLine.MarkerStyle.Width      = new NLength(4);
                radarLine.MarkerStyle.Height     = new NLength(4);
                radarLine.MarkerStyle.Visible    = true;
                radarLine.BorderStyle.Width      = new NLength(2);
                //radarLine.CloseContour = false;
            }

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Fresh);

            styleSheet.Apply(nChartControl1.Document);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                // init example controls
                WebExamplesUtilities.FillComboWithValues(TitleOffsetDropDownList, 0, 50, 5);
                TitleOffsetDropDownList.SelectedIndex = 1;

                WebExamplesUtilities.FillComboWithEnumValues(TitleAngleModeDropDownList, typeof(ScaleLabelAngleMode));
                TitleAngleModeDropDownList.SelectedIndex = (int)ScaleLabelAngleMode.View;

                WebExamplesUtilities.FillComboWithValues(TitleAngleDropDownList, 0, 360, 10);
                TitleAngleDropDownList.SelectedIndex = 0;

                WebExamplesUtilities.FillComboWithEnumValues(TitlePositionModeDropDownList, typeof(RadarTitlePositionMode));
                TitlePositionModeDropDownList.SelectedIndex = (int)RadarTitlePositionMode.Center;

                WebExamplesUtilities.FillComboWithEnumValues(TitleFitModeDropDownList, typeof(RadarTitleFitMode));
                TitleFitModeDropDownList.SelectedIndex = (int)RadarTitleFitMode.Wrap;

                WebExamplesUtilities.FillComboWithValues(TitleMaxWidthDropDownList, 30, 200, 10);
                TitleMaxWidthDropDownList.SelectedIndex = 2;
            }

            nChartControl1.BackgroundStyle.FrameStyle.Visible = false;

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Radar Axis Titles");

            title.TextStyle.FontStyle        = new NFontStyle("Times New Roman", 14, FontStyle.Italic);
            title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur;
            title.DockMode = PanelDockMode.Top;
            title.Margins  = new NMarginsL(10, 10, 10, 10);

            // hide the legend
            nChartControl1.Legends[0].Visible = false;

            // configure the chart
            NRadarChart chart = new NRadarChart();

            nChartControl1.Charts.Clear();
            nChartControl1.Charts.Add(chart);
            chart.DockMode = PanelDockMode.Fill;
            chart.Margins  = new NMarginsL(10, 0, 10, 10);
            chart.Wall(ChartWallType.Radar).BorderStyle.Color = Color.White;
            chart.Projection.SetPredefinedProjection(PredefinedProjection.Orthogonal);
            chart.DisplayOnLegend = nChartControl1.Legends[0];

            AddAxis(chart, "<b>Vitamin A</b><br/><font size='7pt'>etinol or retinal</font>");
            AddAxis(chart, "<b>Vitamin B1</b><br/><font size='7pt'>thiamin or vitamin B1</font>");
            AddAxis(chart, "<b>Vitamin B12</b><br/><font size='7pt'>also called cobalamin</font>");
            AddAxis(chart, "<b>Vitamin C</b><br/><font size='7pt'>L-ascorbic acid or L-ascorbate</font>");
            AddAxis(chart, "<b>Vitamin D</b><br/><font size='7pt'>group of fat-soluble secosteroids</font>");
            AddAxis(chart, "<b>Vitamin E</b><br/><font size='7pt'>group of eight fat-soluble compounds</font>");

            // create the radar series
            NRadarAreaSeries m_RadarArea1 = new NRadarAreaSeries();

            chart.Series.Add(m_RadarArea1);
            m_RadarArea1.Name = "Series 1";
            m_RadarArea1.Values.FillRandomRange(Random, 8, 50, 90);
            m_RadarArea1.DataLabelStyle.Visible = false;
            m_RadarArea1.DataLabelStyle.Format  = "<value>";
            m_RadarArea1.MarkerStyle.AutoDepth  = true;
            m_RadarArea1.MarkerStyle.Width      = new NLength(1.5f, NRelativeUnit.ParentPercentage);
            m_RadarArea1.MarkerStyle.Height     = new NLength(1.5f, NRelativeUnit.ParentPercentage);

            NRadarAreaSeries m_RadarArea2 = new NRadarAreaSeries();

            chart.Series.Add(m_RadarArea2);
            m_RadarArea2.Name = "Series 2";
            m_RadarArea2.Values.FillRandomRange(Random, 8, 0, 100);
            m_RadarArea2.DataLabelStyle.Visible = false;
            m_RadarArea2.DataLabelStyle.Format  = "<value>";
            m_RadarArea2.MarkerStyle.AutoDepth  = true;
            m_RadarArea2.MarkerStyle.Width      = new NLength(1.5f, NRelativeUnit.ParentPercentage);
            m_RadarArea2.MarkerStyle.Height     = new NLength(1.5f, NRelativeUnit.ParentPercentage);

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Bright);

            styleSheet.Apply(nChartControl1.Charts[0].Series);

            m_RadarArea1.FillStyle.SetTransparencyPercent(50);
            m_RadarArea2.FillStyle.SetTransparencyPercent(60);

            // update title labels
            ScaleLabelAngleMode mode = (ScaleLabelAngleMode)TitleAngleModeDropDownList.SelectedIndex;
            float angle = (float)TitleAngleDropDownList.SelectedIndex * 10;

            for (int i = 0; i < chart.Axes.Count; i++)
            {
                NRadarAxis axis = (NRadarAxis)chart.Axes[i];

                axis.TitleAngle              = new NScaleLabelAngle(mode, angle);
                axis.TitleOffset             = new NLength((float)TitleOffsetDropDownList.SelectedIndex * 5);
                axis.TitlePositionMode       = (RadarTitlePositionMode)TitlePositionModeDropDownList.SelectedIndex;
                axis.TitleFitMode            = (RadarTitleFitMode)TitleFitModeDropDownList.SelectedIndex;
                axis.TitleMaxWidth           = new NLength((float)TitleMaxWidthDropDownList.SelectedIndex * 10 + 30);
                axis.TitleAutomaticAlignment = TitleAutomaticAlignmentCheck.Checked;
            }

            TitleMaxWidthDropDownList.Enabled = TitleFitModeDropDownList.SelectedIndex == (int)RadarTitleFitMode.Wrap;
        }