Skip to main content
All docs
V25.1
  • IAxisLabelFormatter Interface

    If implemented by a class, provides a method required for a chart control to format axis labels.

    Namespace: DevExpress.XtraCharts

    Assembly: DevExpress.XtraCharts.v25.1.dll

    NuGet Package: DevExpress.Charts

    Declaration

    public interface IAxisLabelFormatter :
        IAxisLabelFormatterCore

    The following members return IAxisLabelFormatter objects:

    Example

    Perform the steps below to create a custom formatter for axis labels:

    • Create a class that inherits the IAxisLabelFormatter interface and implement the interface’s GetAxisLabelText method.
    • Assign the newly created class instance to the AxisLabel.Formatter property.

    How to: Format Numeric Axis Labels

    This example shows how to apply a custom format to a numeric axis’s labels.

    private void OnFormLoad(object sender, EventArgs e) {
        XYDiagram diagram = (XYDiagram)chartControl1.Diagram;
        AxisLabelFormatter formatter = new AxisLabelFormatter();
        diagram.AxisX.Label.Formatter = formatter;
        diagram.AxisY.Label.Formatter = formatter;
    }
    public class AxisLabelFormatter : IAxisLabelFormatter {
        public string GetAxisLabelText(object axisValue) {
            return Convert.ToString((double)axisValue / 1000);
        }
    }
    

    How to: Format Date-Time Axis Labels

    This example shows how to format the date-time axis labels as follows:

    private void Form1_Load(object sender, EventArgs e) {
    
        XYDiagram diagram = chartControl.Diagram as XYDiagram;
    
        // Configure scale options.
        DateTimeScaleOptions dateTimeScaleOptions = diagram.AxisX.DateTimeScaleOptions;          
        dateTimeScaleOptions.ScaleMode = ScaleMode.Continuous;
        dateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Day;
        dateTimeScaleOptions.GridSpacing = 7;
        dateTimeScaleOptions.WorkdaysOnly = true;
    
        // Apply a custom format to axis labels.
        AxisLabel axisLabel = diagram.AxisX.Label;
        axisLabel.Formatter = new AxisLabelFormatter();
    
    }
    public class AxisLabelFormatter : IAxisLabelFormatter {
        public string GetAxisLabelText(object axisValue) {
            DateTime value = (DateTime)axisValue;
            return ((value.Day >= 1) && (value.Day <= 7)) ? $"{value.ToString("MMM, d")}" : $"{value.Day}";
        }
    }
    
    See Also