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); }
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(); }
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(); }
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"); } }
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")); } }
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); }
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; }