Search code examples
c#mschart

Logarithmic Vertical and Horizontal Axes lines in MS Chart Control


The image presents a logarithmic graph. I want to create a similar graph using MS Chart control. I know there is a way to convert normal graph to logarithmic graph but i am not able to create vertical and horizontal axes lines (light gray in color) similar to the graph below.

Logarithmic graph with vertical and horizontal axes lines


Solution

  • You could try to set the chart's axes IsLogarithmic property to true and set up their MinorGrid as follows:

    private static void SetupAxis(Axis axis)
    {
        // Set the logarithmic scale mode:
        axis.IsLogarithmic = true;
    
        // Enable the minor grid lines:
        axis.MinorGrid.Enabled = true;
        // Set the color of the minor grid lines:
        axis.MinorGrid.LineColor = Color.Gray;
        // Set the inverval to 1:
        axis.MinorGrid.Interval = 1;
    
        // Enable the major grid lines:
        axis.MajorGrid.Enabled = true;
        // If not set, the major grid lines are defaulted to the black color
    }
    

    Usage:

    ChartArea area = chart1.ChartAreas[0];
    
    SetupAxis(area.AxisX);
    SetupAxis(area.AxisY);