Skip to main content

AxisBase.Logarithmic Property

Gets or sets whether the axis should display its numerical values using a logarithmic scale.

Namespace: DevExpress.XtraCharts

Assembly: DevExpress.XtraCharts.v22.2.dll

NuGet Package: DevExpress.Charts


public virtual bool Logarithmic { get; set; }

Property Value

Type Description

true if the logarithmic scale should be used; otherwise, false.


If a chart’s series has its SeriesBase.ArgumentScaleType or SeriesBase.ValueScaleType properties set to ScaleType.Numerical, you can use the Logarithmic property to specify whether an axis should use the logarithmic scale to display axis values. When the Logarithmic property is set to true, you can also define a logarithmic base value using AxisBase.LogarithmicBase.

The axis forms its logarithmic scale as follows. The axis calculates a base axis value - minimum absolute value that is the power of the AxisBase.LogarithmicBase. These calculations are based on absolute values of data point values that the axis measures. Then, the axis marks positive and negative base values on the axis and next, positive and negative values that are the power of the AxisBase.LogarithmicBase. Note that if data point values do not contain positive or negative values, the appropriate semi axis is not plotted.

It is useful to employ the Logarithmic property when the data range of a chart’s series has significant disparity. By enabling this property, the chart’s numerical axes display all values using logarithmic equivalents. In short, if the logarithmic base is 10, only 5 uniform axis steps will exist between 10 and 1,000,000.

The following table demonstrates how the Logarithmic property works.

Logarithmic = false;

Logarithmic = true;

LogarithmicBase = 10;




This example demonstrates how to use a logarithmic scale in XtraCharts, which is disabled by default.


The logarithmic scale is only compatible with the numerical scale type.

To enable it, simply set the AxisBase.Logarithmic property to true, and set the AxisBase.LogarithmicBase property to the value required in your scenario.

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

namespace LogarithmicScale {
    public partial class Form1 : Form {
        public Form1() {

        private void btnLogarithm10_Click(object sender, EventArgs e) {
            AxisY axis = ((XYDiagram)chartControl1.Diagram).AxisY;
            axis.Logarithmic = true;
            axis.LogarithmicBase = 10;
            axis.WholeRange.AlwaysShowZeroLevel = false;

        private void btnLogarithm100_Click(object sender, EventArgs e) {
            AxisY axis = ((XYDiagram)chartControl1.Diagram).AxisY;
            axis.Logarithmic = true;
            axis.LogarithmicBase = 100;
            axis.WholeRange.AlwaysShowZeroLevel = false;

        private void btnDisableLogarithm_Click(object sender, EventArgs e) {
            AxisY axis = ((XYDiagram)chartControl1.Diagram).AxisY;
            axis.Logarithmic = false;
            axis.WholeRange.AlwaysShowZeroLevel = true;

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the Logarithmic property.


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.

See Also