我用chart做医疗软件,用series进行画线,我想按照一般医疗器械的画线方式,即画完一屏后,重新开始,但是前一屏的不清除掉,只是当前画线覆盖以前的画线,请问如何做?
用TChart控件的Series画线,当画完一屏后(此时Series.Count>600),我想从头开始画,又不清除前一次画的线,当画第二屏的时候,边画线边清除前一次画的线(即当前画线的点)请问如何画?

解决方案 »

  1.   

    用两个series了,画的时候同时操作两个series,即在一个series上增加点,另一个series上删除点,当然这两个点的X坐标应该是一样的。
      

  2.   

    写了一个效果,你看是不是你要的。procedure TForm2.FormCreate(Sender: TObject);
    var i:integer;
        tmp:TChartAxis;
    begin
      Chart1.AddSeries(Tlineseries.Create(Self));
      for i:=0 to 200 do
      Chart1.Series[0].AddXY(i,0);
      num:=0;
      Chart1.View3D:=false;
      tmp:=Chart1.LeftAxis;
      Timer1.Interval:=50;
      tmp.Automatic:=false;
      tmp.Maximum:=100;
      tmp.Minimum:=-20;
    end;procedure TForm2.Timer1Timer(Sender: TObject);
    begin
      Chart1.Series[0].YValues.Value[num]:=random(80);
      inc(num,1);
      if num>200 then num:=0;
      Chart1.Refresh;
    end;