SeriesLabelBase.ResolveOverlappingMode Property
Gets or sets a value specifying the mode to resolve overlapping of series labels.
Namespace: DevExpress.XtraCharts
Assembly: DevExpress.XtraCharts.v24.1.dll
NuGet Package: DevExpress.Charts
Declaration
[XtraChartsLocalizableCategory(XtraChartsCategory.Behavior)]
[XtraSerializableProperty]
public ResolveOverlappingMode ResolveOverlappingMode { get; set; }
Property Value
Type | Description |
---|---|
ResolveOverlappingMode | A ResolveOverlappingMode enumeration value. |
Available values:
Name | Description |
---|---|
None | The overlapping resolving algorithm is disabled. |
Default | The default algorithm to re-position labels in a random way, to avoid overlapping labels. |
HideOverlapped | If two or more labels overlap, some of them are automatically hidden, to avoid overlapping. |
JustifyAroundPoint | Only labels that are overlapping change their position. They are re-positioned in such a way, so that they are moved around the corresponding point’s center, but their indent from the point center is preserved. |
JustifyAllAroundPoint | All labels (both overlapping and non-overlapping) change their position. They are re-positioned in such a way, so that they are moved around the corresponding point’s center, but their indent from the point center is preserved. |
Remarks
Use the ResolveOverlappingMode property to determine an overlapping resolving mode to be applied to series labels. The set of the available modes varies, depending on the view type of the series.
Note
To learn which view types support resolve overlapping, or to get more details on this feature, refer to Series Point Labels.
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);
}
}
}
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the ResolveOverlappingMode property.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.