各位:
  问一个TChart(或TDBchart)显示动态数组数据的问题。
  问题:如我建立一动态数据array,用来存贮采集到的数据,(假使)采样周期为
T=144ms。我如何在TChart(或TDBChart)上显示array里的数据。要求:纵坐标显示的是array里的数据,横坐标显示的是时间(单位/s)。

解决方案 »

  1.   

    chart1.Series[0].Add(R你的数据,D你的时间);
    将数据与时间用逗号隔开,(一一对应)
      

  2.   

    for I:=1 to N(数组长度) do
      chart1.Series[0].AddXY(Data[I],T[I],'',clColor);
    //Data[I]为数组数据,T[I]为对应的时间,clColor为线段颜色
    //最好用Chart,控制方便
    //有什么不懂的话可以参见安装目录下的Demo
      

  3.   

    to seasunsky(来来往往) :
    你的方法我试过了,不行。也许我的情况没说清楚。
    举个例子:我建了两个动态数组X,Y。Y[i]用来存储从采集卡上采得的第i个数据(采样周期T=144)。X[i]表示从开始采样到采第i个数据的时间。要求每采一个数据就显示一个点。最终显示一连续的曲线。
    这里Y[i]的表达式和i没关系,i只是表示第i个采样点,Y[i]里唯一的变量就是脉冲量(因为采得的数据是变化的)
    X[i]是和i有关系的,即X[i]等于i个采样周期。
    不知现在我说的清楚了没。
    请高手帮帮忙!
      

  4.   

    to  seasunsky(来来往往):
      其实图很简单,在Chart(或DBChart)上,显示横坐标是时间,纵坐标是速度。
    现在主要的问题怎样把速度和时间联系起来。
      

  5.   

    这样试一试
    while (采样没结束 and 其他条件) dobegin
    x := 时间的函数
    y := 被采样的数据的函数
    Chart1.Series[0].AddXY(x,y,' ',clTeeColor);
    设置其他条件;
    end;
      

  6.   

    to kerbcurb():
    你说的方法我试过了,显示的不是连续的曲线。
      

  7.   

    我想问一下,如果程序运行,CPU占用率太高应该怎么办?
      

  8.   

    也许是你定义的Tchart有问题
    ,显然用TlineChart就可以,用TPieChart就不行
    看不到图象~~~搞定了给分啊~~~~~搞定了给分啊~~~~~搞定了给分啊~~~~~
      

  9.   

    to lzx130(小牛):
    我用的是fastline,肯定不是你说的那个问题。
    还是谢了问题我已用其它办法解决了。可这我不知怎么给分。
    望那位指点一下;
    :)