How do I force a chart to auto adjust Y Axis Maximum?

Paul picture Paul · Jan 9, 2012 · Viewed 63.9k times · Source

I have a .NET chart which I am populating at runtime

The chart appears within a report. For each band in my report, I clear all the series and add them back in using code

            Series s = new Series();
            s.Font = new Font("Verdana", 8f);                

            int i = 0;
            foreach (var month in line.Months)
            {
                DataPoint p = new DataPoint();

                p.XValue = i;
                p.YValues = new Double[] { month.LineValue ?? 0 };
                s.Points.Add(p);

                i++;
            }

When I populate the chart the second time, the Y Axis maximum stays on 2000, i.e. is not being recalculated

How do I force recalculation?

I have ScaleBreakStyle enabled on the Y Axis

If I try to set IsLogarithmic to true on the Y Axis I get a X instead of a chart

I am using Visual Studio 2010 with the System.Windows.forms.DataVisualization.Charting.Chart

Paul

Answer

Anton Kedrov picture Anton Kedrov · Mar 5, 2013

chart.ChartAreas[0].RecalculateAxesScale();