I have this code:
private void timer_Tick(object sender, EventArgs e)
{
timer.Stop();
for (int i = 0; i < TOTAL_SENSORS; i++)
{
DateTime d = DateTime.Now;
devices[i].Value = float.Parse(serialPort.ReadLine());
if (chart1.Series[i].Points.Count > MAX_POINTS)
{
//see the most recent points
}
chart1.Series[i].Points.AddXY(d, devices[i].Value);
}
timer.Start();
}
This part of my code is the timer's tick event where i draw a chart and i need to update it every tick.I keep adding points and when the points count reaches MAX_POINTS(10) it removes the first point and adds a new one at the end.
The problem is when it reaches MAX_POINTS it starts removing points at the end and the graph doesn't autoscroll. All points get deleted and no new points get added.
Please help me and say what I need to change the chart to work as I said.
EDIT 1: I am using Windows Forms.
EDIT 2: AddXY and RemoveAt are not mine they are from the points collection.
EDIT 3: I also want to know how to have a 'scope' and see the data for the last hour or for the last week or for the last month.
EDIT 4: I changed my question a bit, I now want to scale the chart to show the points from the last hour/day