0
我有一個方法返回圖表的PointPairList在時間t,但我想用它來繪製一個「移動」的圖形,通過「移動」我的意思是圖形應該在時間上演變,確實任何人有任何線索我如何能做到這一點。我嘗試使用RollingPointPairList的,但它不工作。演化圖ZedGraph
我有一個方法返回圖表的PointPairList在時間t,但我想用它來繪製一個「移動」的圖形,通過「移動」我的意思是圖形應該在時間上演變,確實任何人有任何線索我如何能做到這一點。我嘗試使用RollingPointPairList的,但它不工作。演化圖ZedGraph
你是什麼意思與進化?你是否想隨時間曲線添加點,或者改變曲線已經有的點的位置? 對於第一個選項,我使用了一個計時器和一個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);
}
我說的是第二個選項,我設法通過使用定時事件和清除graphpane每次做我必須做一個新的情節。謝謝 – KillaKem