可能的解决方案是:var
x,y:array[0..n]of double;
xs[0..n] of string;
begin
for i:=0 to n do
Series.AddXY(X[i],Y[i],XMarks[i]),
end;函数中Y为你设定的固定长度数组,存储要绘制图形的数据,n为时间段。

解决方案 »

  1.   

    你可以用Query只查用户选定的时间段(或其它范围)的数据
    dbchart连Query就可以喽把这个问题化为用户的问题,嘿,点子不好,先用吧
      

  2.   

    定一个时间段,到了之后清除以前的,重新开始画例子:
      private
        { Private declarations }
       dt:tdatetime;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
       if strtoint(formatdatetime('n',(now-dt)))>0 then
       begin
          dt:=now;
          series1.Clear;
       end;
       Series1.Add(now,formatdatetime('ss',now),clred);
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
       dt:=0;
    end;
      

  3.   

    定一个时间段,到了之后清除以前的,重新开始画例子:
      private
        { Private declarations }
       dt:tdatetime;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
       if strtoint(formatdatetime('n',(now-dt)))>0 then
       begin
          dt:=now;
          series1.Clear;
       end;
       Series1.Add(now,formatdatetime('ss',now),clred);
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
       dt:=0;
    end;
      

  4.   

    定一个时间段,到了之后清除以前的,重新开始画例子:
      private
        { Private declarations }
       dt:tdatetime;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
       if strtoint(formatdatetime('n',(now-dt)))>0 then
       begin
          dt:=now;
          series1.Clear;
       end;
       Series1.Add(now,formatdatetime('ss',now),clred);
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
       dt:=0;
    end;
      

  5.   

    我用了 series.clear
    但是效果是时间轴在走而曲线不动
    具体如下:
    procedure TForm.Timer1Timer(sender: TObject)
    begin
          series.clear;
          DrawPic;//自定义画图函数
    end;