Back to Devexpress

How to: Customize an Axis Range

windowsforms-113727-controls-and-libraries-chart-control-examples-chart-elements-how-to-customize-an-axis-range.md

latest4.9 KB
Original Source

How to: Customize an Axis Range

  • Nov 13, 2018
  • 3 minutes to read

This example demonstrates how to use the AxisBase.VisualRange property to define the visible range of an axis, and the AxisBase.WholeRange property to define its whole range.

For more information on axis range, refer to Visual Ranges and Whole Ranges.

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

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

        private void Form1_Load(object sender, EventArgs e) {

            // Create a chart control.
            ChartControl chartControl1 = new ChartControl();

            // Add the chart to the form.
            chartControl1.Dock = DockStyle.Fill;
            this.Controls.Add(chartControl1);

            // Create a bar series and add points to it.
            Series series1 = new Series("Series 1", ViewType.Bar);
            series1.Points.Add(new SeriesPoint("A", new double[] { 26.25 }));
            series1.Points.Add(new SeriesPoint("B", new double[] { 1.52 }));
            series1.Points.Add(new SeriesPoint("C", new double[] { 22.21 }));
            series1.Points.Add(new SeriesPoint("D", new double[] { 15.35 }));
            series1.Points.Add(new SeriesPoint("E", new double[] { 4.15 }));

            // Add the series to the chart.
            chartControl1.Series.Add(series1);

            // Cast the chart's diagram to the XYDiagram type, to access its axes.
            XYDiagram diagram = (XYDiagram)chartControl1.Diagram;

            // Enable the diagram's scrolling.
            diagram.EnableAxisXScrolling = true;
            diagram.EnableAxisYScrolling = true;

            // Define the whole range for the X-axis. 
            diagram.AxisX.WholeRange.Auto = false;
            diagram.AxisX.WholeRange.SetMinMaxValues("A", "D");

            // Disable the side margins 
            // (this has an effect only for certain view types).
            diagram.AxisX.VisualRange.AutoSideMargins = false;

            // Limit the visible range for the X-axis.
            diagram.AxisX.VisualRange.Auto = false;
            diagram.AxisX.VisualRange.SetMinMaxValues("B", "C");

            // Define the whole range for the Y-axis. 
            diagram.AxisY.WholeRange.Auto = false;
            diagram.AxisY.WholeRange.SetMinMaxValues(1, 26);
        }
    }
}
vb
Imports DevExpress.XtraCharts
Imports System
Imports System.Windows.Forms

Namespace WindowsFormsApplication1
    Partial Public Class Form1
        Inherits Form

        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load

            ' Create a chart control.
            Dim chartControl1 As New ChartControl()

            ' Add the chart to the form.
            chartControl1.Dock = DockStyle.Fill
            Me.Controls.Add(chartControl1)

            ' Create a bar series and add points to it.
            Dim series1 As New Series("Series 1", ViewType.Bar)
            series1.Points.Add(New SeriesPoint("A", New Double() { 26.25 }))
            series1.Points.Add(New SeriesPoint("B", New Double() { 1.52 }))
            series1.Points.Add(New SeriesPoint("C", New Double() { 22.21 }))
            series1.Points.Add(New SeriesPoint("D", New Double() { 15.35 }))
            series1.Points.Add(New SeriesPoint("E", New Double() { 4.15 }))

            ' Add the series to the chart.
            chartControl1.Series.Add(series1)

            ' Cast the chart's diagram to the XYDiagram type, to access its axes.
            Dim diagram As XYDiagram = CType(chartControl1.Diagram, XYDiagram)

            ' Enable the diagram's scrolling.
            diagram.EnableAxisXScrolling = True
            diagram.EnableAxisYScrolling = True

            ' Define the whole range for the X-axis. 
            diagram.AxisX.WholeRange.Auto = False
            diagram.AxisX.WholeRange.SetMinMaxValues("A", "D")

            ' Disable the side margins 
            ' (this has an effect only for certain view types).
            diagram.AxisX.VisualRange.AutoSideMargins = False

            ' Limit the visible range for the X-axis.
            diagram.AxisX.VisualRange.Auto = False
            diagram.AxisX.VisualRange.SetMinMaxValues("B", "C")

            ' Define the whole range for the Y-axis. 
            diagram.AxisY.WholeRange.Auto = False
            diagram.AxisY.WholeRange.SetMinMaxValues(1, 26)
        End Sub
    End Class
End Namespace