RangeBarSeriesLabel.Position Property
Gets or sets a value that specifies the position of series labels relative to the corresponding range bars.
Namespace: DevExpress.XtraCharts
Assembly: DevExpress.XtraCharts.v24.1.dll
NuGet Package: DevExpress.Charts
Declaration
[XtraChartsLocalizableCategory(XtraChartsCategory.Behavior)]
[XtraSerializableProperty]
public RangeBarLabelPosition Position { get; set; }
Property Value
Type | Description |
---|---|
RangeBarLabelPosition | A RangeBarLabelPosition enumeration value which specifies the position of labels relative to each range bar. |
Available values:
Name | Description |
---|---|
Outside | The label is painted outside the range bar, near its edge. |
Inside | The label is painted inside the range bar, near its edge. |
Center | The label is painted in the center of the range bar’s edge. |
Remarks
Refer to the RangeBarLabelPosition enumeration’s description for a list of available label positions.
Note that the series label is always shown in the bar center when the Kind property is set to OneLabel.
Example
The following example demonstrates how to create a ChartControl with two series of the SideBySideRangeBarSeriesView type, and add this chart to a form at runtime. Before proceeding with this example, first create a Windows Forms Application in Visual Studio, and include all necessary assemblies to the References list of your project.
Then, add the following code to the Form.Load event handler.
using DevExpress.XtraCharts;
using DevExpress.XtraEditors;
using System;
using System.Windows.Forms;
namespace RangeBarChart {
public partial class Form1 : XtraForm {
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
// Create a new chart.
ChartControl rangeBarChart = new ChartControl();
// Create two range bar series.
Series series1 = new Series("Series 1", ViewType.SideBySideRangeBar);
Series series2 = new Series("Series 2", ViewType.SideBySideRangeBar);
// Add points to them.
series1.Points.Add(new SeriesPoint("A", 10, 15));
series1.Points.Add(new SeriesPoint("B", 4, 7));
series1.Points.Add(new SeriesPoint("C", 3, 13));
series1.Points.Add(new SeriesPoint("D", 2, 11));
series1.Points.Add(new SeriesPoint("E", 1, 8));
series2.Points.Add(new SeriesPoint("A", 9, 13));
series2.Points.Add(new SeriesPoint("B", 5, 10));
series2.Points.Add(new SeriesPoint("C", 1, 9));
series2.Points.Add(new SeriesPoint("D", 3, 7));
series2.Points.Add(new SeriesPoint("E", 2, 10));
// Add both series to the chart.
rangeBarChart.Series.AddRange(new Series[] { series1, series2 });
// Specify series label options.
series2.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;
RangeBarSeriesLabel seriesLabel = (RangeBarSeriesLabel)series2.Label;
seriesLabel.Position = RangeBarLabelPosition.Outside;
seriesLabel.Kind = RangeBarLabelKind.TwoLabels;
seriesLabel.Indent = 10;
// Access the view-type-specific options of the series.
SideBySideRangeBarSeriesView myView1 = (SideBySideRangeBarSeriesView)series1.View;
myView1.MaxValueMarkerVisibility = DevExpress.Utils.DefaultBoolean.True;
myView1.MinValueMarkerVisibility = DevExpress.Utils.DefaultBoolean.True;
myView1.MinValueMarker.Kind = MarkerKind.Circle;
myView1.MaxValueMarker.Kind = MarkerKind.Star;
myView1.MaxValueMarker.StarPointCount = 5;
((SideBySideRangeBarSeriesView)series2.View).BarWidth = 0.4;
// Access the type-specific options of the diagram.
((XYDiagram)rangeBarChart.Diagram).EnableAxisXZooming = true;
// Hide the legend (if necessary).
rangeBarChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
// Add a title to the chart (if necessary).
rangeBarChart.Titles.Add(new ChartTitle());
rangeBarChart.Titles[0].Text = "A Side-by-Side Range Bar Chart";
rangeBarChart.Titles[0].WordWrap = true;
// Add the chart to the form.
rangeBarChart.Dock = DockStyle.Fill;
this.Controls.Add(rangeBarChart);
}
}
}