演化图形ZedGraph

时间:2012-10-04 19:05:52

标签: c# zedgraph

我有一个方法在时间t返回图形的PointPairList,但我想用它来绘制一个“移动”图形,通过“移动”我的意思是图形应该及时发展,是否有人有任何线索我怎么能这样做。我尝试使用RollingPointPairList,但它不起作用。

1 个答案:

答案 0 :(得分:1)

你对进化的意义是什么?你想在时间段中为曲线添加点,还是改变曲线已经存在的点的位置? 对于第一个选项,我使用计时器和DrawPoint方法作为处理程序,为曲线添加一个点。第二个选项可能更复杂,我没有尝试改变一个点的坐标,但也许它可能...它最坏的情况下你将不得不删除你的旧点并绘制新点...无论如何这里是部分我的代码添加一个点(实际上有很多点,因为我正在处理超过1个曲线)

tmr.Interval = 6;
tmr.Tick += new EventHandler(tmr_Tick);
tmrActive = true;
tmr.Start();
void tmr_Tick(object sender, EventArgs e)
{
   DrawPoint(zedGraphControl1, points, num);   //points is an PointPair array of length num with the new points that i want to add to my Curves(1 point for each Curve)      
   zedGraphControl1.AxisChange();
   zedGraphControl1.Refresh();
   if (Start.Enabled == false) Freeze.Enabled = true;
}
private void DrawPoint(ZedGraphControl zgc, PointPair[] p, int num)
    {
        GraphPane myPane = zgc.GraphPane;

        if (myPane.CurveList.Count < num)
        {
            DrawCurves(zgc, num);
        }
        for (int i = 0; i < num; i++)
        {
            myPane.CurveList[i].AddPoint(p[i]);
        }
        actPos = p[0].X;
        mResize(zgc, actPos);
    }