/// <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 UpdateScaleBreak() { NLinearScale scale = (NLinearScale)m_Chart.Axes[ENCartesianAxis.PrimaryY].Scale; scale.ScaleBreaks.Clear(); if (m_EnableScaleBreaksCheckBox.Checked) { NAutoScaleBreak scaleBreak = new NAutoScaleBreak((float)m_ThresholdUpDown.Value); scaleBreak.Style = ENScaleBreakStyle.Line; scaleBreak.Length = m_LengthUpDown.Value; scaleBreak.MaxScaleBreakCount = (int)m_MaxBreaksUpDown.Value; scaleBreak.PositionMode = (ENScaleBreakPositionMode)m_PositionModeComboBox.SelectedIndex; scaleBreak.Percent = (float)m_PositionPercentUpDown.Value; scale.ScaleBreaks.Add(scaleBreak); } }
private void UpdateScaleBreak() { if (nChartControl1 == null) { return; } NChart chart = nChartControl1.Charts[0]; NStandardScaleConfigurator scale = chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator as NStandardScaleConfigurator; scale.ScaleBreaks.Clear(); if (EnableScaleBreaksCheckBox.Checked) { NAutoScaleBreak scaleBreak = new NAutoScaleBreak((float)ThresholdUpDown.Value); scaleBreak.Style = new NLineScaleBreakStyle(); scaleBreak.Style.Length = new NLength((float)LengthUpDown.Value, NGraphicsUnit.Point); scaleBreak.MaxScaleBreakCount = (int)MaxBreaksUpDown.Value; NScaleBreakPosition scaleBreakPosition = new NRangeScaleBreakPosition(); switch (PositionModeComboBox.SelectedIndex) { case 0: // Range scaleBreakPosition = new NRangeScaleBreakPosition(); break; case 1: // percent scaleBreakPosition = new NPercentScaleBreakPosition((float)PositionPercentUpDown.Value); break; case 2: // content scaleBreakPosition = new NContentScaleBreakPosition(); break; } scaleBreak.Position = scaleBreakPosition; scale.ScaleBreaks.Add(scaleBreak); } nChartControl1.Refresh(); }
protected void UpdateScaleBreaks() { // read the form control values float threshold; if (!float.TryParse(thresholdTextBox.Text, out threshold) || threshold < 0 || threshold > 1) { threshold = 0.25f; thresholdTextBox.Text = threshold.ToString(); } int maxBreaks; if (!int.TryParse(maxBreaksTextBox.Text, out maxBreaks) || maxBreaks < 0 || maxBreaks > 3) { maxBreaks = 1; maxBreaksTextBox.Text = maxBreaks.ToString(); } float length; if (!float.TryParse(lengthTextBox.Text, out length) || length < 0 || length > 1000) { length = 5; lengthTextBox.Text = length.ToString(); } int positionPercent; if (!int.TryParse(positionPercentTextBox.Text, out positionPercent) || positionPercent < 0 || positionPercent > 1000) { positionPercent = 50; positionPercentTextBox.Text = positionPercent.ToString(); } // recreate scale breaks NChart chart = nChartControl1.Charts[0]; NStandardScaleConfigurator scale = chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator as NStandardScaleConfigurator; scale.ScaleBreaks.Clear(); if (enableBreaksCheckBox.Checked) { NAutoScaleBreak scaleBreak = new NAutoScaleBreak(threshold); scaleBreak.Style = new NWaveScaleBreakStyle(); scaleBreak.Style.Length = new NLength(length, NGraphicsUnit.Point); scaleBreak.MaxScaleBreakCount = maxBreaks; NScaleBreakPosition scaleBreakPosition = new NRangeScaleBreakPosition(); switch (positionModeDropDownList.SelectedIndex) { case 0: // Range scaleBreakPosition = new NRangeScaleBreakPosition(); break; case 1: // percent scaleBreakPosition = new NPercentScaleBreakPosition((float)positionPercent); break; case 2: // content scaleBreakPosition = new NContentScaleBreakPosition(); break; } scaleBreak.Position = scaleBreakPosition; scale.ScaleBreaks.Add(scaleBreak); } }