Back to Devexpress

How to: Create Custom Axis Labels

windowsforms-6241-controls-and-libraries-chart-control-examples-chart-elements-how-to-create-custom-axis-labels.md

latest3.0 KB
Original Source

How to: Create Custom Axis Labels

  • Nov 02, 2020
  • 2 minutes to read

This example creates a custom axis label at runtime.

csharp
using System;
using System.Drawing;
using System.Windows.Forms;
using DevExpress.XtraCharts;

namespace CustomAxisLabels {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }

        #region #CustomLabels
        private void Form1_Load(object sender, EventArgs e) {
            // Cast the chart's diagram to the XYDiagram type, to access its axes.
            XYDiagram diagram = chartControl.Diagram as XYDiagram;
            if(diagram == null) return;

            AxisX axisX = diagram.AxisX;
            // Add a custom label to the X-axis.
            axisX.CustomLabels.Add(new CustomAxisLabel(name: "State of Michigan", value: "Michigan") {
                TextColor = Color.FromArgb(255, 74, 74, 74),
                BackColor = Color.FromArgb(255, 225, 225, 225)
            });
            // Make auto-generated and custom labels visible at the same time.
            axisX.LabelVisibilityMode = AxisLabelVisibilityMode.AutoGeneratedAndCustom;
        }
        #endregion
    }
}
vb
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports DevExpress.XtraCharts

Namespace CustomAxisLabels
    Partial Public Class Form1
        Inherits Form

        Public Sub New()
            InitializeComponent()
        End Sub

        #Region "#CustomLabels"
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
            ' Cast the chart's diagram to the XYDiagram type, to access its axes.
            Dim diagram As XYDiagram = TryCast(chartControl.Diagram, XYDiagram)
            If diagram Is Nothing Then
                Return
            End If

            Dim axisX As AxisX = diagram.AxisX
            ' Add a custom label to the X-axis.
            axisX.CustomLabels.Add(New CustomAxisLabel(name:= "State of Michigan", value:= "Michigan") With { _
                .TextColor = Color.FromArgb(255, 74, 74, 74), _
                .BackColor = Color.FromArgb(255, 225, 225, 225) _
            })
            ' Make auto-generated and custom labels visible at the same time.
            axisX.LabelVisibilityMode = AxisLabelVisibilityMode.AutoGeneratedAndCustom
        End Sub
        #End Region
    End Class
End Namespace

Result:

Note

Radar and Polar diagrams do not support custom axis labels. You can handle the ChartControl.CustomDrawAxisLabel event to change the axis label text at runtime.

See Also

Axis Labels