// Create an empty chart.
ChartControl pieChart = new ChartControl();
// Create a pie series.
Series series1 = new Series("A Pie Series", ViewType.Pie);
// Populate the series with points.
series1.Points.Add(new SeriesPoint("Russia", 17.0752));
series1.Points.Add(new SeriesPoint("Canada", 9.98467));
series1.Points.Add(new SeriesPoint("USA", 9.63142));
series1.Points.Add(new SeriesPoint("China", 9.59696));
series1.Points.Add(new SeriesPoint("Brazil", 8.511965));
series1.Points.Add(new SeriesPoint("Australia", 7.68685));
series1.Points.Add(new SeriesPoint("India", 3.28759));
series1.Points.Add(new SeriesPoint("Others", 81.2));
// Add the series to the chart.
pieChart.Series.Add(series1);
// Format the the series labels.
series1.Label.TextPattern = "{A}: {VP:p0}";
// Adjust the position of series labels.
((PieSeriesLabel)series1.Label).Position = PieSeriesLabelPosition.TwoColumns;
// Detect overlapping of series labels.
((PieSeriesLabel)series1.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;
// Access the view-type-specific options of the series.
PieSeriesView myView = (PieSeriesView)series1.View;
// Show a title for the series.
myView.Titles.Add(new SeriesTitle());
myView.Titles[0].Text = series1.Name;
// Specify a data filter to explode points.
myView.ExplodedPointsFilters.Add(new SeriesPointFilter(SeriesPointKey.Value_1,
DataFilterCondition.GreaterThanOrEqual, 9));
myView.ExplodedPointsFilters.Add(new SeriesPointFilter(SeriesPointKey.Argument,
DataFilterCondition.NotEqual, "Others"));
myView.ExplodeMode = PieExplodeMode.UseFilters;
myView.ExplodedDistancePercentage = 30;
myView.RuntimeExploding = true;
myView.HeightToWidthRatio = 0.75;
// Hide the legend (if necessary).
pieChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
// Add the chart to the form.
pieChart.Dock = DockStyle.Fill;
this.Controls.Add(pieChart);
// Create a new chart.
ChartControl DoughnutChart = new ChartControl();
// Create a doughnut series.
Series series1 = new Series("Series 1", ViewType.Doughnut);
// Populate the series with points.
series1.Points.Add(new SeriesPoint("Russia", 17.0752));
series1.Points.Add(new SeriesPoint("Canada", 9.98467));
series1.Points.Add(new SeriesPoint("USA", 9.63142));
series1.Points.Add(new SeriesPoint("China", 9.59696));
series1.Points.Add(new SeriesPoint("Brazil", 8.511965));
series1.Points.Add(new SeriesPoint("Australia", 7.68685));
series1.Points.Add(new SeriesPoint("India", 3.28759));
series1.Points.Add(new SeriesPoint("Others", 81.2));
// Add the series to the chart.
DoughnutChart.Series.Add(series1);
// Specify the text pattern of series labels.
series1.Label.TextPattern = "{A}: {VP:P0}";
// Specify how series points are sorted.
series1.SeriesPointsSorting = SortingMode.Ascending;
series1.SeriesPointsSortingKey = SeriesPointKey.Argument;
// Specify the behavior of series labels.
((DoughnutSeriesLabel)series1.Label).Position = PieSeriesLabelPosition.TwoColumns;
((DoughnutSeriesLabel)series1.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;
((DoughnutSeriesLabel)series1.Label).ResolveOverlappingMinIndent = 5;
// Adjust the view-type-specific options of the series.
((DoughnutSeriesView)series1.View).ExplodedPoints.Add(series1.Points[0]);
((DoughnutSeriesView)series1.View).ExplodedDistancePercentage = 30;
// Access the diagram's options.
((SimpleDiagram)DoughnutChart.Diagram).Dimension = 2;
// Add a title to the chart and hide the legend.
ChartTitle chartTitle1 = new ChartTitle();
chartTitle1.Text = "2D Doughnut Chart";
DoughnutChart.Titles.Add(chartTitle1);
DoughnutChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
// Add the chart to the form.
DoughnutChart.Dock = DockStyle.Fill;
this.Controls.Add(DoughnutChart);
// Create a new chart.
ChartControl NestedDoughnutChart = new ChartControl();
// Add the chart to the form.
NestedDoughnutChart.Dock = DockStyle.Fill;
this.Controls.Add(NestedDoughnutChart);
// Create a first nested doughnut series.
Series series1 = new Series("Male", ViewType.NestedDoughnut);
// Populate the series with points.
series1.Points.Add(new SeriesPoint("0-14 years", 29.956));
series1.Points.Add(new SeriesPoint("15-64 years", 25.607));
series1.Points.Add(new SeriesPoint("65 years and older", 13.493));
// Add the first series to the chart.
NestedDoughnutChart.Series.Add(series1);
// Create a second nested doughnut series.
Series series2 = new Series("Female", ViewType.NestedDoughnut);
// Populate the series with points.
series2.Points.Add(new SeriesPoint("0-14 years", 90.354));
series2.Points.Add(new SeriesPoint("15-64 years", 55.793));
series2.Points.Add(new SeriesPoint("65 years and older", 48.983));
// Add the second series to the chart.
NestedDoughnutChart.Series.Add(series2);
// Specify the hole radius percentage and inner indent of the nested doughnut.
((NestedDoughnutSeriesView)series1.View).InnerIndent = 8;
((NestedDoughnutSeriesView)series1.View).HoleRadiusPercent = 30;
// Specify the legend text pattern for the first series.
series1.LegendTextPattern = "{A}";
// Hide a legend for the second series.
series2.ShowInLegend = false;
// Enable a tooltip and specify the tooltip point pattern for series.
NestedDoughnutChart.ToolTipEnabled = DefaultBoolean.True;
series1.ToolTipPointPattern = "{S}:{VP:##.##%}";
series2.ToolTipPointPattern = "{S}:{VP:##.##%}";
// Hide series labels.
series1.LabelsVisibility = DefaultBoolean.False;
series2.LabelsVisibility = DefaultBoolean.False;
// Add a title to the chart.
ChartTitle chartTitle1 = new ChartTitle();
chartTitle1.Text = "Nested Doughnut Chart";
NestedDoughnutChart.Titles.Add(chartTitle1);