/// <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); }
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); }
/// <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); }
/// <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); }
/// <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); }
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); }
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); }
/// <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); }
/// <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 = 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); } }
/// <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); }
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); }
/// <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); }
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; } }