void OnRadianAngleStepComboBoxSelectedIndexChanged(NValueChangeEventArgs arg) { NAngularScale angleScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale; angleScale.MajorTickMode = ENMajorTickMode.CustomStep; switch (((NComboBox)arg.TargetNode).SelectedIndex) { case 0: angleScale.CustomStep = new NAngle(15, NUnit.Degree); break; case 1: angleScale.CustomStep = new NAngle(30, NUnit.Degree); break; case 2: angleScale.CustomStep = new NAngle(45, NUnit.Degree); break; case 3: angleScale.CustomStep = new NAngle(90, NUnit.Degree); break; default: NDebug.Assert(false); break; } }
/// <summary> /// /// </summary> /// <returns></returns> protected override NWidget CreateExampleContent() { NChartView chartView = CreatePolarChartView(); // configure title chartView.Surface.Titles[0].Text = "Polar Area"; // configure chart m_Chart = (NPolarChart)chartView.Surface.Charts[0]; m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleValue); // setup polar axis NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale; linearScale.ViewRangeInflateMode = ENScaleViewRangeInflateMode.MajorTick; linearScale.InflateViewRangeBegin = true; linearScale.InflateViewRangeEnd = true; linearScale.MajorGridLines.Stroke = new NStroke(1, NColor.Black); NScaleStrip strip = new NScaleStrip(); strip.Fill = new NColorFill(NColor.FromColor(NColor.Beige, 0.5f)); strip.Interlaced = true; linearScale.Strips.Add(strip); // setup polar angle axis NAngularScale angularScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale; strip = new NScaleStrip(); strip.Fill = new NColorFill(NColor.FromRGBA(192, 192, 192, 125)); strip.Interlaced = true; angularScale.Strips.Add(strip); // polar area series 1 NPolarAreaSeries series1 = new NPolarAreaSeries(); m_Chart.Series.Add(series1); series1.Name = "Theoretical"; series1.DataLabelStyle = new NDataLabelStyle(false); GenerateData(series1, 100, 15.0); // polar area series 2 NPolarAreaSeries series2 = new NPolarAreaSeries(); m_Chart.Series.Add(series2); series2.Name = "Experimental"; series2.DataLabelStyle = new NDataLabelStyle(false); GenerateData(series2, 100, 10.0); // apply style sheet chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, false)); return(chartView); }
/// <summary> /// /// </summary> /// <returns></returns> protected override NWidget CreateExampleContent() { NChartView chartView = CreatePolarChartView(); // configure title chartView.Surface.Titles[0].Text = "Polar Vector"; // configure chart m_Chart = (NPolarChart)chartView.Surface.Charts[0]; m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleValue); // setup polar axis NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale; linearScale.ViewRangeInflateMode = ENScaleViewRangeInflateMode.MajorTick; linearScale.InflateViewRangeBegin = true; linearScale.InflateViewRangeEnd = true; linearScale.MajorGridLines.Visible = true; NScaleStrip strip = new NScaleStrip(); strip.Fill = new NColorFill(new NColor(NColor.Beige, 125)); strip.Interlaced = true; linearScale.Strips.Add(strip); // setup polar angle axis NAngularScale angularScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale; strip = new NScaleStrip(); strip.Fill = new NColorFill(NColor.FromRGBA(192, 192, 192, 125)); strip.Interlaced = true; angularScale.Strips.Add(strip); // create a polar line series NPolarVectorSeries vectorSeries = new NPolarVectorSeries(); m_Chart.Series.Add(vectorSeries); vectorSeries.Name = "Series 1"; vectorSeries.DataLabelStyle = new NDataLabelStyle(false); for (int i = 0; i < 360; i += 30) { for (int j = 10; j <= 100; j += 10) { vectorSeries.DataPoints.Add(new NPolarVectorDataPoint(i, j, i + j / 10, j, null, new NStroke(1, ColorFromValue(j)))); } } chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, false)); return(chartView); }
/// <summary> /// /// </summary> /// <returns></returns> protected override NWidget CreateExampleContent() { NChartView chartView = CreatePolarChartView(); // configure title chartView.Surface.Titles[0].Text = "Polar Point"; // configure chart m_Chart = (NPolarChart)chartView.Surface.Charts[0]; m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleValue); // setup polar axis NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale; linearScale.ViewRangeInflateMode = ENScaleViewRangeInflateMode.MajorTick; linearScale.InflateViewRangeBegin = true; linearScale.InflateViewRangeEnd = true; linearScale.MajorGridLines.Stroke.DashStyle = ENDashStyle.Dot; NScaleStrip strip = new NScaleStrip(); strip.Fill = new NColorFill(NColor.FromColor(NColor.Cyan, 0.4f)); strip.Interlaced = true; linearScale.Strips.Add(strip); linearScale.MajorGridLines.Visible = true; // setup polar angle axis NAngularScale angularScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale; strip = new NScaleStrip(); strip.Fill = new NColorFill(NColor.FromRGBA(192, 192, 192, 125)); strip.Interlaced = true; angularScale.Strips.Add(strip); angularScale.MajorGridLines.Visible = true; // create three polar point series Random random = new Random(); NSeries s1 = CreatePolarPointSeries("Sample 1", ENPointShape.Ellipse, random); NSeries s2 = CreatePolarPointSeries("Sample 2", ENPointShape.Rectangle, random); NSeries s3 = CreatePolarPointSeries("Sample 3", ENPointShape.Triangle, random); // add the series to the chart m_Chart.Series.Add(s1); m_Chart.Series.Add(s2); m_Chart.Series.Add(s3); chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, false)); return(chartView); }
/// <summary> /// /// </summary> /// <returns></returns> protected override NWidget CreateExampleContent() { NChartView chartView = CreatePolarChartView(); // configure title chartView.Surface.Titles[0].Text = "Polar Line"; // configure chart m_Chart = (NPolarChart)chartView.Surface.Charts[0]; m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleValue); // setup polar axis NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale; linearScale.ViewRangeInflateMode = ENScaleViewRangeInflateMode.MajorTick; linearScale.InflateViewRangeBegin = true; linearScale.InflateViewRangeEnd = true; linearScale.MajorGridLines.Visible = true; NScaleStrip strip = new NScaleStrip(); strip.Fill = new NColorFill(new NColor(NColor.Beige, 125)); strip.Interlaced = true; linearScale.Strips.Add(strip); // setup polar angle axis NAngularScale angularScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale; strip = new NScaleStrip(); strip.Fill = new NColorFill(NColor.FromRGBA(192, 192, 192, 125)); strip.Interlaced = true; angularScale.Strips.Add(strip); // add a const line NAxisReferenceLine line = new NAxisReferenceLine(); m_Chart.Axes[ENPolarAxis.PrimaryValue].ReferenceLines.Add(line); line.Value = 50; line.Stroke = new NStroke(1, NColor.SlateBlue); // create a polar line series NPolarLineSeries series1 = new NPolarLineSeries(); m_Chart.Series.Add(series1); series1.Name = "Series 1"; series1.CloseContour = true; series1.DataLabelStyle = new NDataLabelStyle(false); Curve1(series1, 50); // create a polar line series NPolarLineSeries series2 = new NPolarLineSeries(); m_Chart.Series.Add(series2); series2.Name = "Series 2"; series2.DataLabelStyle = new NDataLabelStyle(false); series2.CloseContour = true; Curve2(series2, 100); // create a polar line series NPolarLineSeries series3 = new NPolarLineSeries(); m_Chart.Series.Add(series3); series3.Name = "Series 3"; series3.CloseContour = false; series3.DataLabelStyle = new NDataLabelStyle(false); Curve3(series3, 100); chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, false)); return(chartView); }
/// <summary> /// /// </summary> /// <returns></returns> protected override NWidget CreateExampleContent() { NChartView chartView = CreatePolarChartView(); // configure title chartView.Surface.Titles[0].Text = "Polar Angle Axis Position"; // configure chart m_Chart = (NPolarChart)chartView.Surface.Charts[0]; m_Chart.SetPredefinedPolarAxes(ENPredefinedPolarAxes.AngleSecondaryAngleValue); // setup chart m_Chart.InnerRadius = 40; // create a polar line series NPolarLineSeries series1 = new NPolarLineSeries(); m_Chart.Series.Add(series1); series1.Name = "Series 1"; series1.CloseContour = true; series1.DataLabelStyle = new NDataLabelStyle(false); series1.MarkerStyle = new NMarkerStyle(false); series1.UseXValues = true; Curve1(series1, 50); // create a polar line series NPolarLineSeries series2 = new NPolarLineSeries(); m_Chart.Series.Add(series2); series2.Name = "Series 2"; series2.CloseContour = true; series2.DataLabelStyle = new NDataLabelStyle(false); series2.MarkerStyle = new NMarkerStyle(false); series2.UseXValues = true; Curve2(series2, 100); // setup polar axis NLinearScale linearScale = (NLinearScale)m_Chart.Axes[ENPolarAxis.PrimaryValue].Scale; linearScale.ViewRangeInflateMode = ENScaleViewRangeInflateMode.MajorTick; linearScale.InflateViewRangeBegin = true; linearScale.InflateViewRangeEnd = true; linearScale.MajorGridLines.Visible = true; linearScale.MajorGridLines.Stroke = new NStroke(1, NColor.Gray, ENDashStyle.Solid); NScaleStrip strip = new NScaleStrip(); strip.Fill = new NColorFill(NColor.Beige); strip.Interlaced = true; linearScale.Strips.Add(strip); // setup polar angle axis NAngularScale degreeScale = (NAngularScale)m_Chart.Axes[ENPolarAxis.PrimaryAngle].Scale; degreeScale.MajorGridLines.Visible = true; degreeScale.Labels.Style.Angle = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 0); // add a second value axes NPolarAxis valueAxis = m_Chart.Axes[ENPolarAxis.PrimaryValue]; m_RedAxis = m_Chart.Axes[ENPolarAxis.PrimaryAngle]; m_GreenAxis = m_Chart.Axes[ENPolarAxis.SecondaryAngle]; NAngularScale gradScale = new NAngularScale(); gradScale.AngleUnit = NUnit.Grad; gradScale.Labels.Style.Angle = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 0); m_GreenAxis.Scale = gradScale; m_GreenAxis.Anchor = new NValueCrossPolarAxisAnchor(70, m_RedAxis, ENPolarAxisOrientation.Angle, ENScaleOrientation.Right); m_RedAxis.Anchor = new NDockPolarAxisAnchor(ENPolarAxisDockZone.OuterRim); m_Chart.Axes[ENPolarAxis.PrimaryValue].Anchor = new NValueCrossPolarAxisAnchor(90, m_RedAxis, ENPolarAxisOrientation.Value, ENScaleOrientation.Auto); // apply style sheet // color code the axes and series after the stylesheet is applied m_RedAxis.Scale.SetColor(NColor.Red); m_GreenAxis.Scale.SetColor(NColor.Green); series2.ValueAxis = m_GreenAxis; return(chartView); }
/// <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); }