/// <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);
        }
Esempio n. 2
0
        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();
        }
Esempio n. 4
0
        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);
            }
        }