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); }
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(); }
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(); }
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; } } }
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(); }
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>"; }
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(); }
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); } } } }
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(); }
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; } }
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(); }
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(); }
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); }
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); } } } }
private void ChangeDataButton_Click(object sender, EventArgs e) { NPieSeries pieSeries = (NPieSeries)nChartControl1.Charts[0].Series[0]; GenerateData(pieSeries); nChartControl1.Refresh(); }
/// <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); }
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)); }
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); }
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)); }
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); }
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); }
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(); }
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(); }
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; } }
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(); }
/// <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(); }