protected void Page_Load(object sender, EventArgs e)
        {
            nChartControl1.Settings.JitterMode = JitterMode.Enabled;
            nChartControl1.BackgroundStyle.FrameStyle.Visible = false;

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Nonoverlapping Pie Labels");

            title.TextStyle.FontStyle        = new NFontStyle("Times New Roman", 14, FontStyle.Italic);
            title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur;
            title.ContentAlignment           = ContentAlignment.BottomCenter;
            title.Location = new NPointL(
                new NLength(50, NRelativeUnit.ParentPercentage),
                new NLength(2, NRelativeUnit.ParentPercentage));

            // no legend
            nChartControl1.Legends.Clear();

            // setup chart
            NPieChart pieChart = new NPieChart();

            nChartControl1.Charts.Clear();
            nChartControl1.Charts.Add(pieChart);

            pieChart.Enable3D   = true;
            pieChart.BoundsMode = BoundsMode.Fit;
            pieChart.Location   = new NPointL(
                new NLength(5, NRelativeUnit.ParentPercentage),
                new NLength(10, NRelativeUnit.ParentPercentage));
            pieChart.Size = new NSizeL(
                new NLength(90, NRelativeUnit.ParentPercentage),
                new NLength(87, NRelativeUnit.ParentPercentage));
            pieChart.ClockwiseDirection = clockwiseCheckBox.Checked;
            pieChart.Projection.SetPredefinedProjection(PredefinedProjection.OrthogonalElevated);
            pieChart.LightModel.SetPredefinedLightModel(PredefinedLightModel.MetallicLustre);

            // setup pie series
            m_Pie                       = (NPieSeries)pieChart.Series.Add(SeriesType.Pie);
            m_Pie.LabelMode             = PieLabelMode.SpiderNoOverlap;
            m_Pie.DataLabelStyle.Format = "<label>\n<percent>";
            m_Pie.DataLabelStyle.TextStyle.FontStyle.EmSize = new NLength(8, NGraphicsUnit.Point);
            m_Pie.Values.ValueFormatter = new NNumericValueFormatter("0.##");
            m_Pie.BorderStyle.Color     = Color.White;
            m_Pie.PieStyle = PieStyle.SmoothEdgePie;


            double[] arrValues = { 4.17, 7.19, 5.62, 7.91, 15.28, 0.97, 1.3, 1.12, 8.54, 9.84 };

            for (int i = 0; i < arrValues.Length; i++)
            {
                m_Pie.Values.Add(arrValues[i]);
            }

            SetTexts();

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.BrightMultiColor);

            styleSheet.Apply(nChartControl1.Document);
        }
Ejemplo n.º 2
0
        private void ArrowPointerLengthScroll_Scroll(object sender, Nevron.UI.WinForm.Controls.ScrollBarEventArgs e)
        {
            NPieSeries pie = (NPieSeries)nChartControl1.Charts[0].Series[0];

            pie.DataLabelStyle.ArrowPointerLength = new NLength(ArrowPointerLengthScroll.Value, NGraphicsUnit.Point);
            nChartControl1.Refresh();
        }
Ejemplo n.º 3
0
        private void LeadOffLengthScroll_ValueChanged(object sender, Nevron.UI.WinForm.Controls.ScrollBarEventArgs e)
        {
            NPieSeries pie = (NPieSeries)nChartControl1.Charts[0].Series[0];

            pie.LeadOffArrowLength = new NLength(LeadOffLengthScroll.Value, NGraphicsUnit.Point);
            nChartControl1.Refresh();
        }
Ejemplo n.º 4
0
        private void ProcessMouseEvent(object sender, EventArgs e, Color c)
        {
            NHitTestResult result = nChartControl1.HitTest(e as NCallbackMouseEventArgs);

            if (result.ChartElement == ChartElement.DataPoint)
            {
                switch (result.Chart.Tag.ToString())
                {
                case "BarChart":
                    NChartPalette palette        = new NChartPalette(ChartPredefinedPalette.Nevron);
                    Color         highlightColor = palette.SeriesColors[5];

                    NBarSeries barSeries = result.Series as NBarSeries;
                    foreach (NBarSeries series in nChartControl1.Charts[0].Series)
                    {
                        series.FillStyles.Clear();
                        series.BorderStyles.Clear();
                    }
                    barSeries.FillStyles[result.DataPointIndex]   = new NColorFillStyle(c);
                    barSeries.BorderStyles[result.DataPointIndex] = new NStrokeStyle(1, c);

                    int nCount = nChartControl1.Panels.Count;
                    for (int i = 0; i < nCount; i++)
                    {
                        if (nChartControl1.Panels[i] is NRoundedRectangularCallout)
                        {
                            nChartControl1.Panels.RemoveAt(i);
                        }
                    }

                    NRoundedRectangularCallout m_RoundedRectangularCallout = new NRoundedRectangularCallout();
                    m_RoundedRectangularCallout.ArrowLength      = new NLength(10, NRelativeUnit.ParentPercentage);
                    m_RoundedRectangularCallout.FillStyle        = new NGradientFillStyle(Color.FromArgb(255, Color.White), Color.FromArgb(125, highlightColor));
                    m_RoundedRectangularCallout.UseAutomaticSize = true;
                    m_RoundedRectangularCallout.Orientation      = 45;
                    m_RoundedRectangularCallout.Anchor           = new NDataPointAnchor(barSeries, result.DataPointIndex, ContentAlignment.TopRight, StringAlignment.Center);
                    m_RoundedRectangularCallout.Text             = ((NDataPoint)result.Object)[DataPointValue.Y].ToString();
                    nChartControl1.Panels.Add(m_RoundedRectangularCallout);


                    break;

                case "PieChart":
                    NPieSeries pieSeries = result.Series as NPieSeries;
                    pieSeries.Detachments.Clear();
                    for (int i = 0; i < pieSeries.Values.Count; i++)
                    {
                        if (i == result.DataPointIndex)
                        {
                            pieSeries.Detachments.Add(15);
                        }
                        else
                        {
                            pieSeries.Detachments.Add(0);
                        }
                    }
                    break;
                }
            }
        }
Ejemplo n.º 5
0
        private void PieEdgeScrollBar_Scroll(object sender, Nevron.UI.WinForm.Controls.ScrollBarEventArgs e)
        {
            NPieSeries pie = (NPieSeries)nChartControl1.Charts[0].Series[0];

            pie.PieEdgePercent = EdgePercentScroll.Value;
            nChartControl1.Refresh();
        }
Ejemplo n.º 6
0
        private void PieLabelModeCombo_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            NPieSeries pie = (NPieSeries)nChartControl1.Charts[0].Series[0];

            pie.LabelMode = (PieLabelMode)PieLabelModeCombo.SelectedIndex;

            switch (pie.LabelMode)
            {
            case PieLabelMode.Center:
                ArrowLengthScroll.Enabled        = false;
                ArrowPointerLengthScroll.Enabled = false;
                ConnectorLengthScroll.Enabled    = false;
                LeadOffLengthScroll.Enabled      = false;
                break;

            case PieLabelMode.Rim:
            case PieLabelMode.Spider:
                ArrowLengthScroll.Enabled        = true;
                ArrowPointerLengthScroll.Enabled = true;
                ConnectorLengthScroll.Enabled    = false;
                LeadOffLengthScroll.Enabled      = false;
                break;

            case PieLabelMode.SpiderNoOverlap:
                ArrowLengthScroll.Enabled        = false;
                ArrowPointerLengthScroll.Enabled = false;
                ConnectorLengthScroll.Enabled    = true;
                LeadOffLengthScroll.Enabled      = true;
                break;
            }

            nChartControl1.Refresh();
        }
        public override void Initialize()
        {
            base.Initialize();

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Printed Chart Appearance");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.ContentAlignment    = ContentAlignment.BottomCenter;
            title.Location            = new NPointL(new NLength(50, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage));

            NLegend legend = nChartControl1.Legends[0];

            legend.SetPredefinedLegendStyle(PredefinedLegendStyle.BottomRight);

            m_Chart = new NPieChart();
            nChartControl1.Charts.Clear();
            nChartControl1.Charts.Add(m_Chart);
            m_Chart.Depth           = 18;
            m_Chart.DisplayOnLegend = nChartControl1.Legends[0];

            m_Pie = (NPieSeries)m_Chart.Series.Add(SeriesType.Pie);
            m_Pie.BorderStyle.Color = Color.LemonChiffon;

            m_Pie.AddDataPoint(new NDataPoint(24, "Cars", new NColorFillStyle(Color.FromArgb(169, 121, 11))));
            m_Pie.AddDataPoint(new NDataPoint(18, "Airplanes", new NColorFillStyle(Color.FromArgb(157, 157, 92))));
            m_Pie.AddDataPoint(new NDataPoint(32, "Trains", new NColorFillStyle(Color.FromArgb(98, 152, 92))));
            m_Pie.AddDataPoint(new NDataPoint(23, "Ships", new NColorFillStyle(Color.FromArgb(111, 134, 181))));
            m_Pie.AddDataPoint(new NDataPoint(19, "Buses", new NColorFillStyle(Color.FromArgb(179, 63, 92))));

            m_Pie.Legend.Mode   = SeriesLegendMode.DataPoints;
            m_Pie.Legend.Format = "<label> <percent>";
        }
Ejemplo n.º 8
0
        private void LeadOffArrowLengthScrollBar_ValueChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs <double> e)
        {
            NPieSeries pie = (NPieSeries)nChartControl1.Charts[0].Series[0];

            pie.LeadOffArrowLength = new NLength((float)LeadOffArrowLengthScrollBar.Value * 100.0f, NGraphicsUnit.Point);
            nChartControl1.Refresh();
        }
Ejemplo n.º 9
0
            private void ExplodePieSegment(NStateObject state, EventArgs e, int offset)
            {
                //	this method is called when the web control operates in the Nevron Instant Callback mode
                NCallbackMouseEventArgs  args       = e as NCallbackMouseEventArgs;
                NChartSessionStateObject chartState = state as NChartSessionStateObject;
                NHitTestResult           result     = chartState.HitTest(args);
                NRootPanel rootPanel = chartState.Document.RootPanel;

                if (result.ChartElement == ChartElement.DataPoint)
                {
                    NPieSeries pieSeries = result.Series as NPieSeries;
                    pieSeries.Detachments.Clear();
                    for (int i = 0; i < pieSeries.Values.Count; i++)
                    {
                        if (i == result.DataPointIndex)
                        {
                            pieSeries.Detachments.Add(offset);
                        }
                        else
                        {
                            pieSeries.Detachments.Add(0);
                        }
                    }
                }
            }
Ejemplo n.º 10
0
        private void LabelModeComboBox_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            NPieSeries pie = (NPieSeries)nChartControl1.Charts[0].Series[0];

            pie.LabelMode = (PieLabelMode)LabelModeComboBox.SelectedIndex;

            switch (pie.LabelMode)
            {
            case PieLabelMode.Center:
                ArrowLengthScrollBar.IsEnabled          = false;
                ArrowPointerLengthScrollBar.IsEnabled   = false;
                LabelConnectorLengthScrollBar.IsEnabled = false;
                LeadOffArrowLengthScrollBar.IsEnabled   = false;
                break;

            case PieLabelMode.Rim:
            case PieLabelMode.Spider:
                ArrowLengthScrollBar.IsEnabled          = true;
                ArrowPointerLengthScrollBar.IsEnabled   = true;
                LabelConnectorLengthScrollBar.IsEnabled = false;
                LeadOffArrowLengthScrollBar.IsEnabled   = false;
                break;

            case PieLabelMode.SpiderNoOverlap:
                ArrowLengthScrollBar.IsEnabled          = false;
                ArrowPointerLengthScrollBar.IsEnabled   = false;
                LabelConnectorLengthScrollBar.IsEnabled = true;
                LeadOffArrowLengthScrollBar.IsEnabled   = true;
                break;
            }

            nChartControl1.Refresh();
        }
Ejemplo n.º 11
0
            public override void OnAsyncCustomCommand(string webControlId, System.Web.HttpContext context, NStateObject state, NCallbackCustomCommandArgs args)
            {
                switch (args.Command.Name)
                {
                case "displayHitsForDate":
                    NChartSessionStateObject chartState = state as NChartSessionStateObject;
                    NRootPanel rootPanel = chartState.Document.RootPanel;
                    NPieSeries pieSeries = rootPanel.Charts[0].Series[0] as NPieSeries;

                    int   dataPointIndex = int.Parse(args.Command.Arguments["dataPointIndex"] as string);
                    int[] data           = NDrillDownDemoUC.hitsPerDayPerRegion[dataPointIndex];

                    pieSeries.Values.Clear();
                    pieSeries.Labels.Clear();
                    int length = hitsPerDayPerRegion[0].Length;
                    for (int i = 0; i < length; i++)
                    {
                        pieSeries.Values.Add(data[i]);
                        pieSeries.Labels.Add(NDrillDownDemoUC.regionNames[i]);
                    }

                    DateTime selectedDate = NDrillDownDemoUC.startDate.AddDays(dataPointIndex);
                    NLabel   header       = rootPanel.Labels[0];
                    header.Text = selectedDate.ToString("dd/MMM/yyyy") + ", Hits per Region";

                    break;
                }
            }
Ejemplo n.º 12
0
        private void EdgePercentScrollBar_ValueChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs <double> e)
        {
            NPieSeries pie = (NPieSeries)nChartControl1.Charts[0].Series[0];

            pie.PieEdgePercent = (float)EdgePercentScrollBar.Value * 100.0f;
            nChartControl1.Refresh();
        }
Ejemplo n.º 13
0
            public void OnMouseEvent(NAspNetThinWebControl control, NBrowserMouseEventArgs e)
            {
                NThinChartControl chartControl = (NThinChartControl)control;

                NPieChart      pieChart      = (NPieChart)chartControl.Charts[0];
                NHitTestResult hitTestResult = chartControl.HitTest(e.X, e.Y);

                int dataPointIndex = hitTestResult.DataPointIndex;

                // collapse all pie slices
                NPieSeries pieSeries = (NPieSeries)pieChart.Series[0];

                for (int i = 0; i < pieSeries.Values.Count; i++)
                {
                    pieSeries.Detachments[i] = 0;
                }

                // expand the one that's hit
                if (dataPointIndex != -1)
                {
                    pieSeries.Detachments[dataPointIndex] = 5.0f;
                }

                chartControl.UpdateView();
            }
Ejemplo n.º 14
0
        private NPieChart CreatePieChart()
        {
            NPieChart pieChart = new NPieChart();

            NDockLayout.SetDockArea(pieChart, ENDockArea.Center);
            pieChart.Margins = new NMargins(10, 0, 10, 10);

            NPieSeries pieSeries = new NPieSeries();

            pieChart.Series.Add(pieSeries);
            pieChart.DockSpiderLabelsToSides = false;

            NDataLabelStyle dataLabelStyle = new NDataLabelStyle();

            dataLabelStyle.ArrowLength        = 15;
            dataLabelStyle.ArrowPointerLength = 0;
            pieSeries.DataLabelStyle          = dataLabelStyle;

            pieSeries.LabelMode         = ENPieLabelMode.Spider;
            pieSeries.LegendView.Mode   = ENSeriesLegendMode.DataPoints;
            pieSeries.LegendView.Format = "<label> <percent>";

            pieSeries.DataPoints.Add(new NPieDataPoint(24, "Cars"));
            pieSeries.DataPoints.Add(new NPieDataPoint(18, "Airplanes"));
            pieSeries.DataPoints.Add(new NPieDataPoint(32, "Trains"));
            pieSeries.DataPoints.Add(new NPieDataPoint(23, "Ships"));
            pieSeries.DataPoints.Add(new NPieDataPoint(19, "Buses"));

            return(pieChart);
        }
Ejemplo n.º 15
0
            private void ColorPieSegment(NStateObject state, EventArgs e, Color c)
            {
                NCallbackMouseEventArgs  args       = e as NCallbackMouseEventArgs;
                NChartSessionStateObject chartState = state as NChartSessionStateObject;
                NHitTestResult           result     = chartState.HitTest(args);
                NRootPanel rootPanel = chartState.Document.RootPanel;

                if (result.ChartElement == ChartElement.DataPoint)
                {
                    NPieSeries pieSeries = result.Series as NPieSeries;
                    for (int i = 0; i < pieSeries.Values.Count; i++)
                    {
                        if (i == result.DataPointIndex)
                        {
                            pieSeries.FillStyles[i]   = new NColorFillStyle(c);
                            pieSeries.BorderStyles[i] = new NStrokeStyle(1, Color.White);
                        }
                        else
                        {
                            int   colorIndex = i % NExampleUC.arrCustomColors2.Length;
                            Color color      = NExampleUC.arrCustomColors2[colorIndex];

                            pieSeries.FillStyles[i]   = new NColorFillStyle(color);
                            pieSeries.BorderStyles[i] = new NStrokeStyle(1, color);
                        }
                    }
                }
            }
Ejemplo n.º 16
0
        private void ChangeDataButton_Click(object sender, EventArgs e)
        {
            NPieSeries pieSeries = (NPieSeries)nChartControl1.Charts[0].Series[0];

            GenerateData(pieSeries);

            nChartControl1.Refresh();
        }
Ejemplo n.º 17
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NChartView chartView = CreatePieChartView();

            // configure title
            chartView.Surface.Titles[0].Text = "Doughnut Pie";

            // configure chart
            m_PieChart = (NPieChart)chartView.Surface.Charts[0];

            m_PieChart.BeginRadiusPercent = 20;
            m_PieChart.LabelLayout.EnableInitialPositioning = false;
            string[] labels = new string[] { "Ships", "Trains", "Automobiles", "Airplanes" };

            Random random = new Random();

            for (int i = 0; i < 4; i++)
            {
                NPieSeries pieSeries = new NPieSeries();

                // create a small detachment between pie rings
                pieSeries.BeginRadiusPercent = 10;

                m_PieChart.Series.Add(pieSeries);
                m_PieChart.DockSpiderLabelsToSides = true;

                NDataLabelStyle dataLabelStyle = new NDataLabelStyle(false);
                dataLabelStyle.ArrowLength         = 0;
                dataLabelStyle.ArrowPointerLength  = 0;
                dataLabelStyle.Format              = "<percent>";
                dataLabelStyle.TextStyle.HorzAlign = ENTextHorzAlign.Center;
                dataLabelStyle.TextStyle.VertAlign = ENTextVertAlign.Center;

                pieSeries.DataLabelStyle = dataLabelStyle;

                if (i == 0)
                {
                    pieSeries.LegendView.Mode   = ENSeriesLegendMode.DataPoints;
                    pieSeries.LegendView.Format = "<label>";
                }
                else
                {
                    pieSeries.LegendView.Mode = ENSeriesLegendMode.None;
                }

                pieSeries.LabelMode = ENPieLabelMode.Center;

                for (int j = 0; j < labels.Length; j++)
                {
                    pieSeries.DataPoints.Add(new NPieDataPoint(20 + random.Next(100), labels[j]));
                }
            }


            chartView.Document.StyleSheets.ApplyTheme(new NChartTheme(ENChartPalette.Bright, true));

            return(chartView);
        }
Ejemplo n.º 18
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            m_Manager = ((NMainForm)base.m_MainForm).chartCommandBarsManager;


            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Command Bars");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.ContentAlignment    = ContentAlignment.BottomCenter;
            title.Location            = new NPointL(new NLength(50, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage));

            // hide the legend
            ((NLegend)nChartControl1.Legends[0]).Mode = LegendMode.Disabled;

            // create chart 1
            NChart chart1 = nChartControl1.Charts[0];

            chart1.Enable3D   = true;
            chart1.Name       = "Bar Chart";
            chart1.Location   = new NPointL(new NLength(5, NRelativeUnit.ParentPercentage), new NLength(5, NRelativeUnit.ParentPercentage));
            chart1.Size       = new NSizeL(new NLength(40, NRelativeUnit.ParentPercentage), new NLength(95, NRelativeUnit.ParentPercentage));
            chart1.BoundsMode = BoundsMode.Fit;
            chart1.Axis(StandardAxis.Depth).Visible = false;

            // create chart 2
            NChart chart2 = new NPieChart();

            chart2.Enable3D = true;
            nChartControl1.Charts.Add(chart2);
            chart2.Name       = "Pie Chart";
            chart2.Location   = new NPointL(new NLength(55, NRelativeUnit.ParentPercentage), new NLength(5, NRelativeUnit.ParentPercentage));
            chart2.Size       = new NSizeL(new NLength(40, NRelativeUnit.ParentPercentage), new NLength(95, NRelativeUnit.ParentPercentage));
            chart2.BoundsMode = BoundsMode.Fit;
            chart2.Projection.SetPredefinedProjection(PredefinedProjection.Orthogonal);

            // add series to first chart
            NBarSeries bar = (NBarSeries)chart1.Series.Add(SeriesType.Bar);

            bar.Name = "Bar";
            bar.Values.FillRandom(Random, 10);
            bar.DataLabelStyle.Visible = false;

            // add series to second chart
            NPieSeries pie = (NPieSeries)chart2.Series.Add(SeriesType.Pie);

            pie.Name = "Pie";
            pie.Values.FillRandom(Random, 5);
            pie.PieStyle      = PieStyle.SmoothEdgePie;
            pie.FillStyles[0] = new NColorFillStyle(Color.FromArgb(169, 121, 11));
            pie.FillStyles[1] = new NColorFillStyle(Color.FromArgb(157, 157, 92));
            pie.FillStyles[2] = new NColorFillStyle(Color.FromArgb(98, 152, 92));
            pie.FillStyles[3] = new NColorFillStyle(Color.FromArgb(111, 134, 181));
            pie.FillStyles[4] = new NColorFillStyle(Color.FromArgb(179, 63, 92));
        }
Ejemplo n.º 19
0
        private NChart CreateAnchorPanelChart()
        {
            NChart  chart  = null;
            NSeries series = null;

            switch (MiniChartTypeComboBox.SelectedIndex)
            {
            case 0:                     // Pie
                chart  = new NPieChart();
                series = (NSeries)chart.Series.Add(SeriesType.Pie);
                break;

            case 1:                     // Doughnut
            {
                chart = new NPieChart();
                NPieSeries pie = (NPieSeries)chart.Series.Add(SeriesType.Pie);
                pie.PieStyle = PieStyle.Torus;
                series       = pie;
                break;
            }

            case 2:                     // Bar
                chart = new NCartesianChart();
                chart.Wall(ChartWallType.Back).Visible    = false;
                chart.Axis(StandardAxis.PrimaryX).Visible = false;
                chart.Axis(StandardAxis.PrimaryY).Visible = false;
                chart.Axis(StandardAxis.Depth).Visible    = false;
                series = (NSeries)chart.Series.Add(SeriesType.Bar);
                break;

            case 3:                     // Area
                chart = new NCartesianChart();
                chart.Wall(ChartWallType.Back).Visible    = false;
                chart.Axis(StandardAxis.PrimaryX).Visible = false;
                chart.Axis(StandardAxis.PrimaryY).Visible = false;
                chart.Axis(StandardAxis.Depth).Visible    = false;
                series = (NSeries)chart.Series.Add(SeriesType.Area);
                break;
            }

            chart.BoundsMode = BoundsMode.Fit;
            chart.DockMode   = PanelDockMode.Fill;
            series.DataLabelStyle.Visible = false;

            NDataPoint dp = new NDataPoint();

            for (int i = 0; i < 5; i++)
            {
                dp[DataPointValue.Value]     = 5 + Random.Next(10);
                dp[DataPointValue.FillStyle] = new NColorFillStyle(RandomColor());
                series.AddDataPoint(dp);
            }

            return(chart);
        }
Ejemplo n.º 20
0
        private void AddPieButton_Click(object sender, EventArgs e)
        {
            NChart     chart     = nChartControl1.Charts[0];
            NPieSeries pieSeries = (NPieSeries)chart.Series[0];

            double     value = Convert.ToDouble(PieValueTextBox.Text);
            String     text  = "Pie " + Convert.ToString(pieSeries.Values.Count + 1);
            NFillStyle fill  = new NColorFillStyle(WebExamplesUtilities.RandomColor());

            pieSeries.AddDataPoint(new NDataPoint(value, text, fill));
        }
Ejemplo n.º 21
0
        public override void Initialize()
        {
            base.Initialize();

            // Create title label
            NLabel title = new NLabel("Pie Data Point Anchor");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);

            // Create a pie chart
            NPieChart chart = new NPieChart();

            chart.Enable3D = false;

            // Create a pie series with 6 data points
            NPieSeries pieSeries = new NPieSeries();

            chart.Series.Add(pieSeries);
            pieSeries.DataLabelStyle.Visible = true;
            pieSeries.LabelMode = PieLabelMode.SpiderNoOverlap;
            GenerateData(pieSeries);

            // Create a rounded rect callout
            NRoundedRectangularCallout callout = new NRoundedRectangularCallout();

            callout.ArrowLength                = new NLength(20, NGraphicsUnit.Point);
            callout.FillStyle                  = new NGradientFillStyle(GradientStyle.Horizontal, GradientVariant.Variant1, Color.FromArgb(125, Color.White), Color.FromArgb(125, Color.LightGreen));
            callout.UseAutomaticSize           = true;
            callout.Orientation                = 80;
            callout.ContentAlignment           = ContentAlignment.TopLeft;
            callout.Text                       = "Annotation";
            callout.TextStyle.FontStyle.EmSize = new NLength(8);

            // Anchor the callout to pie data point #0
            NPieDataPointAnchor anchor = new NPieDataPointAnchor(pieSeries, 0, 0.8f, StringAlignment.Near);

            callout.Anchor = anchor;

            // add title and chart panels
            ConfigureStandardLayout(chart, title, null);

            // add the annotation panel
            nChartControl1.Panels.Add(callout);

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor);

            styleSheet.Apply(nChartControl1.Document);

            // init form controla
            DataPointIndexUpDown.Value = anchor.DataPointIndex;
            AnchorPositionUpDown.Value = (decimal)anchor.RadialPosition;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            nChartControl1.BackgroundStyle.FrameStyle.Visible = false;

            nChartControl1.Panels.Clear();

            // Create title label
            NLabel title = new NLabel("Pie Data Point Anchor");

            title.TextStyle.FontStyle        = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.TextStyle.FontStyle        = new NFontStyle("Times New Roman", 14, FontStyle.Italic);
            title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur;
            nChartControl1.Panels.Add(title);

            // Create a pie chart
            NPieChart chart = new NPieChart();

            nChartControl1.Panels.Add(chart);
            chart.Enable3D = false;

            // Create a pie series with 6 data points
            NPieSeries pieSeries = new NPieSeries();

            chart.Series.Add(pieSeries);
            pieSeries.DataLabelStyle.Visible = true;
            pieSeries.LabelMode = PieLabelMode.SpiderNoOverlap;
            pieSeries.Values.FillRandomRange(new Random(), 6, 1, 5);

            // Create a rounded rect callout
            NRoundedRectangularCallout callout = new NRoundedRectangularCallout();

            callout.ArrowLength                = new NLength(20, NGraphicsUnit.Point);
            callout.FillStyle                  = new NGradientFillStyle(GradientStyle.Horizontal, GradientVariant.Variant1, Color.FromArgb(125, Color.White), Color.FromArgb(125, Color.LightGreen));
            callout.UseAutomaticSize           = true;
            callout.Orientation                = 80;
            callout.ContentAlignment           = ContentAlignment.TopLeft;
            callout.Text                       = "Annotation";
            callout.TextStyle.FontStyle.EmSize = new NLength(8);

            // Anchor the callout to pie data point #0
            NPieDataPointAnchor anchor = new NPieDataPointAnchor(pieSeries, 0, 0.8f, StringAlignment.Near);

            callout.Anchor = anchor;

            // add the annotation panel
            nChartControl1.Panels.Add(callout);

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.BrightMultiColor);

            styleSheet.Apply(nChartControl1.Document);
        }
Ejemplo n.º 23
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            m_Manager = ((NMainForm)base.m_MainForm).chartCommandBarsManager;

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Customizing the Command Bar");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.ContentAlignment    = ContentAlignment.BottomCenter;
            title.Location            = new NPointL(new NLength(50, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage));

            NPieChart chart = new NPieChart();

            chart.Enable3D = true;
            nChartControl1.Charts.Clear();
            nChartControl1.Charts.Add(chart);

            chart.Projection.SetPredefinedProjection(PredefinedProjection.OrthogonalElevated);
            chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.NorthernLights);

            chart.DisplayOnLegend = nChartControl1.Legends[0];
            chart.Location        = new NPointL(new NLength(15, NRelativeUnit.ParentPercentage), new NLength(15, NRelativeUnit.ParentPercentage));
            chart.Size            = new NSizeL(new NLength(70, NRelativeUnit.ParentPercentage), new NLength(70, NRelativeUnit.ParentPercentage));

            NPieSeries pieSeries = (NPieSeries)chart.Series.Add(SeriesType.Pie);

            pieSeries.PieEdgePercent = 30;
            pieSeries.PieStyle       = PieStyle.SmoothEdgePie;
            pieSeries.Legend.Mode    = SeriesLegendMode.DataPoints;
            pieSeries.Legend.Format  = "<label> <percent>";

            pieSeries.AddDataPoint(new NDataPoint(12, "Ships"));
            pieSeries.AddDataPoint(new NDataPoint(42, "Trains"));
            pieSeries.AddDataPoint(new NDataPoint(56, "Cars"));
            pieSeries.AddDataPoint(new NDataPoint(23, "Buses"));
            pieSeries.AddDataPoint(new NDataPoint(18, "Airplanes"));

            for (int i = 0; i < pieSeries.Values.Count; i++)
            {
                pieSeries.Detachments.Add(0);
            }

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor);

            styleSheet.Apply(nChartControl1.Document);

            ShowStandardToolbarCheckBox_CheckedChanged(null, null);
        }
Ejemplo n.º 24
0
        private void DeleteLastPieButton_Click(object sender, EventArgs e)
        {
            NChart     chart     = nChartControl1.Charts[0];
            NPieSeries pieSeries = (NPieSeries)chart.Series[0];

            if (pieSeries.Values.Count == 0)
            {
                return;
            }

            int nLastIndex = pieSeries.Values.Count - 1;

            pieSeries.Values.RemoveAt(nLastIndex);
        }
            void INMouseEventCallback.OnMouseEvent(NAspNetThinWebControl control, NBrowserMouseEventArgs e)
            {
                NThinChartControl chartControl = (NThinChartControl)control;

                NPieChart  pieChart  = (NPieChart)chartControl.Charts[0];
                NPieSeries pieSeries = (NPieSeries)pieChart.Series[0];

                for (int i = 0; i < pieSeries.Values.Count; i++)
                {
                    pieSeries.Detachments[i] = 5.0f;
                }

                chartControl.UpdateView();
            }
Ejemplo n.º 26
0
        private void ExportToDataTable_Click(object sender, System.EventArgs e)
        {
            NChart chart = nChartControl1.Charts[0];
            NDataSeriesCollection arrSeries = new NDataSeriesCollection();
            string sTableName = "";

            switch (ChartCombo.SelectedIndex)
            {
            case 0:                     // Bar Chart
                NBarSeries bar = (NBarSeries)chart.Series[0];
                sTableName = "Bar Chart";

                arrSeries.Add(bar.Values, DataSeriesMask.Values);
                arrSeries.Add(bar.Labels, DataSeriesMask.Labels);
                break;

            case 1:                     // Line Chart With X Values
                NLineSeries line = (NLineSeries)chart.Series[0];
                sTableName = "Line Chart";

                arrSeries.Add(line.Values, DataSeriesMask.Values);
                arrSeries.Add(line.XValues, DataSeriesMask.XValues);
                arrSeries.Add(line.Labels, DataSeriesMask.Labels);
                break;

            case 2:                     // Pie Chart with detachments
                NPieSeries pie = (NPieSeries)chart.Series[0];
                sTableName = "Pie Chart";

                arrSeries.Add(pie.Values, DataSeriesMask.Values);
                arrSeries.Add(pie.Detachments, DataSeriesMask.PieDetachments);
                arrSeries.Add(pie.Labels, DataSeriesMask.Labels);
                break;

            case 3:                     // Open - High - Low - Close
                NStockSeries stock = (NStockSeries)chart.Series[0];
                sTableName = "Stock Chart";

                arrSeries.Add(stock.OpenValues, DataSeriesMask.StockOpenValues);
                arrSeries.Add(stock.HighValues, DataSeriesMask.StockHighValues);
                arrSeries.Add(stock.LowValues, DataSeriesMask.StockLowValues);
                arrSeries.Add(stock.CloseValues, DataSeriesMask.StockCloseValues);
                break;
            }

            dataView1.Table = arrSeries.ExportToDataTable(sTableName);

            nChartControl1.Refresh();
        }
Ejemplo n.º 27
0
        public override void Initialize()
        {
            base.Initialize();

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Sorted Pie Chart");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.ContentAlignment    = ContentAlignment.BottomCenter;
            title.Location            = new NPointL(new NLength(50, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage));

            NChart chart = new NPieChart();

            nChartControl1.Charts.Clear();
            nChartControl1.Charts.Add(chart);

            // configure the chart
            chart.Enable3D = true;
            chart.Projection.SetPredefinedProjection(PredefinedProjection.OrthogonalElevated);
            chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.VividCameraLight);
            chart.DisplayOnLegend = nChartControl1.Legends[0];
            chart.Location        = new NPointL(new NLength(20, NRelativeUnit.ParentPercentage), new NLength(20, NRelativeUnit.ParentPercentage));
            chart.Size            = new NSizeL(new NLength(60, NRelativeUnit.ParentPercentage), new NLength(60, NRelativeUnit.ParentPercentage));

            // configure the legend
            NLegend legend = nChartControl1.Legends[0];

            legend.FillStyle = new NColorFillStyle(Color.FromArgb(100, Color.White));

            // configure the pie series
            m_Pie               = (NPieSeries)chart.Series.Add(SeriesType.Pie);
            m_Pie.Legend.Mode   = SeriesLegendMode.DataPoints;
            m_Pie.Legend.Format = "<label> <percent>";

            // add data
            m_Pie.BorderStyle.Color = Color.LightGray;
            m_Pie.AddDataPoint(new NDataPoint(0, "Cars"));
            m_Pie.AddDataPoint(new NDataPoint(0, "Trains"));
            m_Pie.AddDataPoint(new NDataPoint(0, "Airplanes"));
            m_Pie.AddDataPoint(new NDataPoint(0, "Buses"));
            m_Pie.AddDataPoint(new NDataPoint(0, "Ships"));

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor);

            styleSheet.Apply(nChartControl1.Document);

            ChangeDataButton_Click(null, null);
        }
        private void NChartControl2_Click(object sender, EventArgs e)
        {
            NChart             chart     = nChartControl2.Charts[0];
            NPostbackEventArgs eventArgs = (NPostbackEventArgs)e;

            NDataPoint dp = eventArgs.Id.FindInDocument(nChartControl2.Document) as NDataPoint;

            if (dp != null)
            {
                int dataItemID = dp.IndexInSeries;

                NPieSeries pie = (NPieSeries)chart.Series[0];
                pie.Detachments[dataItemID] = 10;
            }
        }
Ejemplo n.º 29
0
        private void PieShapeCombo_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            NPieSeries pie = (NPieSeries)nChartControl1.Charts[0].Series[0];

            pie.PieStyle = (PieStyle)PieShapeCombo.SelectedIndex;

            switch (pie.PieStyle)
            {
            case PieStyle.Pie:
            case PieStyle.Ring:
            case PieStyle.Torus:
                EdgePercentScroll.Enabled = false;
                break;

            case PieStyle.SmoothEdgePie:
            case PieStyle.SmoothEdgeRing:
            case PieStyle.CutEdgePie:
            case PieStyle.CutEdgeRing:
                EdgePercentScroll.Enabled = true;
                break;

            default:
                Debug.Assert(false);
                break;
            }

            switch (pie.PieStyle)
            {
            case PieStyle.Pie:
            case PieStyle.SmoothEdgePie:
            case PieStyle.CutEdgePie:
                InnerRadiusScroll.Enabled = false;
                break;

            case PieStyle.Ring:
            case PieStyle.Torus:
            case PieStyle.SmoothEdgeRing:
            case PieStyle.CutEdgeRing:
                InnerRadiusScroll.Enabled = true;
                break;

            default:
                Debug.Assert(false);
                break;
            }

            nChartControl1.Refresh();
        }
Ejemplo n.º 30
0
        /// <summary>
        /// Collapses all pie segement
        /// </summary>
        protected void CollapsePie()
        {
            NPieSeries pie = GetPieSeries();

            if (pie == null)
            {
                return;
            }

            for (int i = 0; i < pie.Detachments.Count; i++)
            {
                pie.Detachments[i] = 0;
            }

            this.ChartControl.Refresh();
        }