C#图表:如何绘制随时间变化的曲线图

C#图表:如何绘制随时间变化的曲线图,c#,wpf,charts,C#,Wpf,Charts,到目前为止,我已经用下面的代码成功地绘制了一个图表,但我希望它能够随着时间的推移绘制和连接数据点,而不是一次绘制和连接所有数据点。例如,我可能希望总共需要60秒来绘制所有点。我该怎么做 chart1.Series["test1"].ChartType = SeriesChartType.FastLine; chart1.Series["test1"].Color = Color.Red; chart1.Series["test2"].ChartType = SeriesChartType.Fa

到目前为止,我已经用下面的代码成功地绘制了一个图表,但我希望它能够随着时间的推移绘制和连接数据点,而不是一次绘制和连接所有数据点。例如,我可能希望总共需要60秒来绘制所有点。我该怎么做

chart1.Series["test1"].ChartType = SeriesChartType.FastLine;
chart1.Series["test1"].Color = Color.Red;

chart1.Series["test2"].ChartType = SeriesChartType.FastLine;
chart1.Series["test2"].Color = Color.Blue;  

Random rdn = new Random();
for (int i = 0; i < 50; i++)
{
    chart1.Series["test1"].Points.AddXY(rdn.Next(0,10), rdn.Next(0,10));
    chart1.Series["test2"].Points.AddXY(rdn.Next(0,10), rdn.Next(0,10));
}
chart1.Series[“test1”].ChartType=serieChartType.FastLine;
图表1.系列[“测试1”]。颜色=颜色。红色;
chart1.Series[“test2”].ChartType=SerieChartType.FastLine;
图表1.系列[“测试2”]。颜色=颜色。蓝色;
随机rdn=新随机();
对于(int i=0;i<50;i++)
{
图1.Series[“test1”].Points.AddXY(rdn.Next(0,10),rdn.Next(0,10));
图1.系列[“测试2”].Points.AddXY(rdn.Next(0,10),rdn.Next(0,10));
}

您可以创建一个
调度程序
,并将其
间隔
设置为要在打印点之间等待的时间量。给它一个
勾选
事件处理程序,将下一个点添加到图表中,并在完成后禁用计时器

var timer = new DispatcherTimer
            {
                Interval = TimeSpan.FromSeconds(0.1d),
            };

var pointsRemaining = 50;
var r = new Random();

timer.Tick += (sender, args) =>
              {
                  if (--pointsRemaining == 0)
                      timer.Stop();

                  chart1.Series["test1"].Points.AddXY(r.Next(0,10), r.Next(0,10));
                  chart1.Series["test2"].Points.AddXY(r.Next(0,10), r.Next(0,10));
              };

timer.Start();

是要在指定的时间内分散数据点的打印,还是要以固定速率打印点,直到所有点都已打印完毕?实际上是后者。