Access数据库中存储有时间和对应的数据,对应每个时间点,有10个数据,如下
    time   a1    a2   a3     a4    a5    a6    a7    a8   a9    a10
   10:01  1.1  1.05  1.08  1.07  1.09  1.08  1.1  1.09  1.08  1.09
   10:02  1.1  1.07  1.09  1.07  1.08  1.07  1.1  1.08  1.09  1.07
   10:03  1.1  1.08  1.08  1.08  1.09  1.08  1.1  1.07  1.09  1.08
   ……
a1……a10表示每秒采集到的变化率,我想把时间作为横坐标,把变化率作为纵坐标,绘制相应的曲线,该用TChart还是该用TDBChart,如何操作?请给位大侠给予指点或者给个相关的例子,

解决方案 »

  1.   

    都可以,步骤就是
    添加seriers
    设置seriers的datasource
    设置横纵坐标的数据字段双击chart控件即可以设置
      

  2.   

    to bdmh:
       横坐标设置时间,那种坐标如何设置啊,该添加多少个series?我需要把这些点用一个曲线表示出来,不是多个曲线
    还有一个问题,我的数据连接不是用的odbc,是用代码写出来的,设置里面无法选择datasource啊
      

  3.   

    给你写个例子 用了Tchart控件。
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart;type
      TForm1 = class(TForm)
        Chart1: TChart;
        Series1: TFastLineSeries;
        Series2: TFastLineSeries;
        Series3: TFastLineSeries;
        Button1: TButton;
        Series4: TFastLineSeries;
        Series5: TFastLineSeries;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
    SeriesA1: TLineSeries;
    SeriesA2: TLineSeries;
    SeriesA3: TLineSeries;
    SeriesA4: TLineSeries;
    SeriesA5: TLineSeries;
    begin
    SeriesA1 := TLineSeries.Create(Chart1);
    SeriesA1.Add(1.1, '10:01', clRed);//可以把这里的1.1和10.01用数据库提出的信息替换就可以了
    SeriesA1.Add(1.1, '10:02', clRed);//同上。
    SeriesA1.Add(1.1, '10:03', clRed);
    Chart1.AddSeries(SeriesA1);SeriesA2 := TLineSeries.Create(Chart1);
    SeriesA2.Add(1.05, '10:01', clBlue);
    SeriesA2.Add(1.07, '10:02', clBlue);
    SeriesA2.Add(1.08, '10:03', clBlue);
    Chart1.AddSeries(SeriesA2);SeriesA3 := TLineSeries.Create(Chart1);
    SeriesA3.Add(1.08, '10:01', clGreen);
    SeriesA3.Add(1.09, '10:02', clGreen);
    SeriesA3.Add(1.08, '10:03', clGreen);
    Chart1.AddSeries(SeriesA3);SeriesA4 := TLineSeries.Create(Chart1);
    SeriesA4.Add(1.07, '10:01', clHighlight);
    SeriesA4.Add(1.07, '10:02', clHighlight);
    SeriesA4.Add(1.08, '10:03', clHighlight);
    Chart1.AddSeries(SeriesA4);SeriesA5 := TLineSeries.Create(Chart1);
    SeriesA5.Add(1.09, '10:01',clAqua );
    SeriesA5.Add(1.08, '10:02',clAqua );
    SeriesA5.Add(1.09, '10:03',clAqua );
    Chart1.AddSeries(SeriesA5);
    end;end.