AxisX效果很好,只显示最后50秒。 我的问题是AxisY不会自动缩放,当值从0变为500时,例如它会缩小很多。我也希望显示一个适当的间隔。
private void timercharts_Tick(object sender, EventArgs e)
{
grafico_pos.Add((int)distancia_atual);
grafico_pos.Add((int)distancia_desejada);
chart_pos.Series[0].Points.AddXY(tempo, distancia_atual);
chart_pos.Series[1].Points.AddXY(tempo, distancia_desejada);
chart_pos.ChartAreas[0].AxisY.Interval = (grafico_pos.Max() - grafico_pos.Min()/5);
chart_pos.ChartAreas[0].AxisY.Minimum = grafico_pos.Min() - 15;
chart_pos.ChartAreas[0].AxisY.Maximum = grafico_pos.Max() + 15;
if (tempo > 50)
{
chart_pos.ChartAreas[0].AxisX.Minimum = tempo - 50;
grafico_pos.RemoveAt(0);
grafico_pos.RemoveAt(0);
}
chart_pos.ChartAreas[0].RecalculateAxesScale();
tempo++;
}
所以基本上我想基于过去50秒内点数的最大值和最小值来缩放AxisY。并正确调整间隔。