0

時間 t でグラフの PointPairList を返すメソッドがありますが、それを使用して「移動」グラフをプロットしたいと思います。「移動」とは、グラフが時間とともに進化する必要があることを意味します。これを行うことができます。RollingPointPairList を使用してみましたが、うまくいきません。

4

1 に答える 1

1

進化とはどういう意味ですか?時間が経過するにつれて曲線に点を追加しますか、それとも曲線が既に持っている点の位置を変更しますか?. 最初のオプションでは、曲線にポイントを追加するハンドラーとしてタイマーと DrawPoint メソッドを使用しました。2番目のオプションは少し複雑になる可能性があります.1つのポイントの座標を変更しようとしたことはありませんが、おそらく可能です...最悪の場合、古いポイントを削除して新しいポイントを描画する必要があります...とにかくここに一部があります私のコードの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);
    }
于 2012-10-05T07:08:57.060 に答える