DoughnutSeriesView Class
Represents a series view of the Doughnut type.
Namespace: DevExpress.XtraCharts
Assembly: DevExpress.XtraCharts.v24.1.dll
NuGet Package: DevExpress.Charts
Declaration
[TypeConverter(typeof(DoughnutSeriesViewTypeConverter))]
public class DoughnutSeriesView :
PieSeriesView,
IDoughnutSeriesView
Remarks
The DoughnutSeriesView class provides the functionality of a series view of the Doughnut type within a chart control.
In addition to the common view settings inherited from the base PieSeriesView class, the DoughnutSeriesView class declares the Doughnut type specific settings that allow you to define a percentage value for a hole radius (DoughnutSeriesView.HoleRadiusPercent).
Note that a particular view type can be defined for a series via its SeriesBase.View property.
For more information on series views of the pie type, please see the Doughnut Chart topic.
Example
The following example demonstrates how to create a ChartControl with a series of the DoughnutSeriesView
type, set its general properties, and add this chart to a form at runtime. Before proceeding with this example, create a Windows Forms Application in Visual Studio, and add all required assemblies to the References list of your project.
Then, add the following code to the Form.Load event handler.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-create-a-doughnut-chart-e1047
using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;
namespace Series_DoughnutChart {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
// 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);
}
}
}