| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2659 人关注过本帖
标题:请教TCHART绘图的问题
取消只看楼主 加入收藏
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
结帖率:94.74%
收藏
已结贴  问题点数:90 回复次数:4 
请教TCHART绘图的问题
   正在学DELPHI绘图,看了TCHART的控件属性。一头雾水,不知如何画,网上搜索了一下,原作只有一两个,并且编译不能通过,其余都是抄来转载的,连符号都错了,本站内搜索,有几个人提问,从未有人给解答。好迷茫。有谁能赐教一下?
   我现在通过运算得到了三个数组arr1[1..100],arr2[1..100],arr3[1..100] 都是DOUBLE类型的。想以此为纵坐标,1......100为横坐标,画fastline 。不知怎样将数组数据和series关联或传递过去。特此请教。只用DELPHI自带的TCHART 控件。
鱼兄,能否帮忙?等你。


[ 本帖最后由 yalewang 于 2010-7-18 13:33 编辑 ]
搜索更多相关主题的帖子: 绘图 TCHART 
2010-07-18 13:31
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
收藏
得分:0 
我在等啊,没人回答?
2010-07-19 18:54
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
收藏
得分:0 
多谢鱼兄。
fstlnsrsSeries1:TFastLineSeries;
fstlnsrsSeries2:TFastLineSeries ;
fstlnsrsSeries3:TFastLineSeries ;
TFastLineSeries在哪里声明呀?我在uses 里加了series.不管用

fstlnsrsSeries1.Add(random(100));
fstlnsrsSeries2.Add(random(100));
fstlnsrsSeries3.Add(random(100));
我的困惑是怎样将已有数据的数组arr1[1..100]、arr2[1..100]、arr3[1..100]中的数据加进去。
2010-07-20 14:35
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
收藏
得分:0 
现在可以运行了,我又调整了一下。有几个问题想解决。
1、用random生成随机数,并且用TIMER触发执行时,下一事件过程画线时,上次画的线还存在,一会就满了,怎解决?我用refresh,没效果。
2、图表右边的序列是什麽属性,本来只添加三条线,运行时,一直自动加,为何?
   能否去掉该列?
3、能否这样理解,series1在计算上是一组数,在图表上是一条线?
谢谢

procedure TForm1.FormShow(Sender: TObject);
begin
  //cht1.BottomAxis.Automatic:= False;     
  //cht1.BottomAxis.Maximum   :=   100;
  //cht1.BottomAxis.Minimum   :=   0;
  //cht1.LeftAxis.Automatic := False;
  //cht1.LeftAxis.Maximum := 100.0;
end;

procedure TForm1.Tmr1Timer(Sender: TObject);
  var
  //fstlnsrsSeries1:TFastLineSeries;
  //fstlnsrsSeries2:TFastLineSeries;
  //fstlnsrsSeries3:TFastLineSeries;
  i:integer;
begin
//Inc(Number);
randomize;
fstlnsrsSeries1 := TFastLineSeries.Create(Cht1);
fstlnsrsSeries2 := TFastLineSeries.Create(Cht1);
fstlnsrsSeries3 := TFastLineSeries.Create(Cht1);
Cht1.AddSeries(fstlnsrsSeries1);
Cht1.AddSeries(fstlnsrsSeries2);
Cht1.AddSeries(fstlnsrsSeries3);
for i:=1 to 100 do
begin
fstlnsrsSeries1.Addxy(i,2*i,'',clred);
fstlnsrsSeries2.Addxy(random(100),random(100),'',clblack);
fstlnsrsSeries3.Addxy(i,2*i+3,'',clgreen);
end;
{if  Number > 100 then
begin
  cht1.BottomAxis.Maximum   :=   Number;
  cht1.BottomAxis.Minimum   :=   Number - 100;
end;
 }
end;
end.

[ 本帖最后由 yalewang 于 2010-7-21 01:21 编辑 ]
2010-07-21 01:19
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
收藏
得分:0 
另外,用上述方法画图,速度很慢,还不如vb自带的方法快。CPU占用率高达57%。
有没有办法解决?
2010-07-21 08:35
快速回复:请教TCHART绘图的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021916 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved