Back to Devexpress

AxisLabelItemBase.Axis Property

corelibraries-devexpress-dot-xtracharts-dot-axislabelitembase-f701f97f.md

latest5.6 KB
Original Source

AxisLabelItemBase.Axis Property

Provides access to the axis to which an axis label item belongs.

Namespace : DevExpress.XtraCharts

Assembly : DevExpress.XtraCharts.v25.2.dll

NuGet Package : DevExpress.Charts

Declaration

csharp
[XtraChartsLocalizableCategory(XtraChartsCategory.Misc)]
public AxisBase Axis { get; }
vb
<XtraChartsLocalizableCategory(XtraChartsCategory.Misc)>
Public ReadOnly Property Axis As AxisBase

Property Value

TypeDescription
AxisBase

An AxisBase descendant, which identifies the axis.

|

Remarks

An axis label item is the specific instance of the AxisLabelItem class, obtained in the ChartControl.CustomDrawAxisLabel (or WebChartControl.CustomDrawAxisLabel) event handler.

For more information, refer to Axis Labels.

Example

Apart from the capability to customize the overall appearance of axis labels, you can obtain individual axis labels at runtime. Then, it’s possible to apply all the options available for axis labels to them, individually. For example, based on some criteria (e.g. an axis value threshold), you can apply different formatting to axis labels.

For this, the special ChartControl.CustomDrawAxisLabel event is introduced. Handle it to obtain axis labels.

Note

For the WebChartControl you should handle its WebChartControl.CustomDrawSeries event to implement this task.

The following code demonstrates one possible implementation of this capability.

csharp
private void chartControl1_CustomDrawAxisLabel(object sender, CustomDrawAxisLabelEventArgs e) {
    AxisBase axis = e.Item.Axis;
    if (axis is AxisY || axis is AxisY3D || axis is RadarAxisY) {
        double axisValue = (double)e.Item.AxisValue;
        if (axisValue < 0) {
            e.Item.TextColor = Color.Red;
        }
        else if (axisValue > 0) {
            e.Item.Text = "+" + e.Item.Text;
            e.Item.TextColor = Color.Green;
        }
        else if (axisValue == 0) {
            e.Item.Text = "Zero";
        }
    }
}
vb
Private Sub chartControl1_CustomDrawAxisLabel(sender As Object, e As CustomDrawAxisLabelEventArgs)
   Dim axis As AxisBase = e.Item.Axis
   If TypeOf axis Is AxisY Or TypeOf axis Is AxisY3D Or TypeOf axis Is RadarAxisY Then
      Dim axisValue As Double = CDbl(e.Item.AxisValue)
      If axisValue < 0 Then
         e.Item.TextColor = Color.Red
      Else
         If axisValue > 0 Then
            e.Item.Text = "+" + e.Item.Text
            e.Item.TextColor = Color.Green
         Else
            If axisValue = 0 Then
               e.Item.Text = "Zero"
            End If
         End If
      End If
   End If
End Sub

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the Axis 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.

winforms-charts-how-to-individually-customize-axis-labels/CS/CustomAxisLabels/Form1.cs#L13

csharp
private void chartControl1_CustomDrawAxisLabel(object sender, CustomDrawAxisLabelEventArgs e) {
    AxisBase axis = e.Item.Axis;
    if (axis is AxisY || axis is AxisY3D || axis is RadarAxisY) {

winforms-charts-how-to-individually-customize-axis-labels/VB/CustomAxisLabels/Form1.vb#L16

vb
Private Sub chartControl1_CustomDrawAxisLabel(ByVal sender As Object, ByVal e As CustomDrawAxisLabelEventArgs)
    Dim axis As AxisBase = e.Item.Axis
    If TypeOf axis Is AxisY OrElse TypeOf axis Is AxisY3D OrElse TypeOf axis Is RadarAxisY Then

See Also

Axis Labels

AxisLabelItemBase Class

AxisLabelItemBase Members

DevExpress.XtraCharts Namespace