Hallo Messie,
Nach erfolgter Datenbindung, kannst Du in diesem Fall die Methode RecalculateAxesScale() aufrufen:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
const int MAXPOINTS = 12;
Random random = new Random(DateTime.Now.Millisecond);
chart1.Series.Clear();
chart1.ChartAreas.Clear();
chart1.Legends.Clear();
chart1.BackColor = Color.Transparent;
Series[] series = new Series[2];
for (int seriesIndex = 0; seriesIndex < 2; seriesIndex++)
{
series[seriesIndex] = new Series() { ChartType = SeriesChartType.Line, BorderWidth = 2 };
for (int pointIndex = 0; pointIndex < MAXPOINTS; pointIndex++)
{
DateTime dateX = DateTime.Now.Date.AddDays(pointIndex);
series[seriesIndex].Points.AddXY(dateX, random.Next(1, (seriesIndex + 1) * 1000));
}
chart1.Series.Add(series[seriesIndex]);
ChartArea area = new ChartArea();
area.BackColor = Color.Transparent;
if (seriesIndex == 1)
{
series[seriesIndex].YAxisType = AxisType.Secondary;
series[seriesIndex].XAxisType = AxisType.Secondary;
}
chart1.ChartAreas.Add(area);
series[seriesIndex].ChartArea = area.Name;
}
chart1.ChartAreas[1].AlignmentOrientation = AreaAlignmentOrientations.All;
chart1.ChartAreas[1].AlignmentStyle = AreaAlignmentStyles.All;
chart1.ChartAreas[1].AlignWithChartArea = chart1.ChartAreas[0].Name;
chart1.ChartAreas[0].RecalculateAxesScale();
chart1.ChartAreas[1].RecalculateAxesScale();
double maxY = Math.Max(chart1.ChartAreas[0].AxisY.Maximum, chart1.ChartAreas[1].AxisY2.Maximum);
chart1.ChartAreas[0].AxisY.Maximum = maxY;
chart1.ChartAreas[1].AxisY2.Maximum = maxY;
}
}
}
(P.S. Ich habe hier zur besseren visuellen Differenziierung primäre und sekundäre X und Y-Achsen verwendet.)
ChartArea.RecalculateAxesScale-Methode:
http://msdn.microsoft.com/de-de/library/system.windows.forms.datavisualization.charting.chartarea.recalculateaxesscale.aspx
Gruss
Marcel