关于CHART中能否使用一个SERIES反复重绘曲线?而且所绘曲线不乱!

liuhuan992 2010-03-13 11:16:50
如题,

小弟想使用SERIES绘制曲线,即

在CHART控件中仅使用一个SERIES1,进行曲线的反复绘制, 想法是这样的,如下:

var
Form1: TForm1;
i:integer;
b:boolean;
implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if b then
edit1.Text :=inttostr(strtoint(edit1.Text)+1)
else
edit1.Text :=inttostr(strtoint(edit1.Text)-1);

if (strtoint(edit1.Text)>=10) or (strtoint(edit1.Text)<=0) then
b:=not b;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
series1.Addxy(random(10),strtoint(edit1.Text));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled :=not timer1.Enabled ;
end;



如上所示代码所得出的曲线是只有一根,而且是非正常曲线,我想得到的结果是,用一个SERIES1绘制出N条曲线,记忘指教,不知SERIES还有哪个函数能够达到此种效果,谢谢!·
...全文
219 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuhuan992 2010-03-16
  • 打赏
  • 举报
回复
楼上所说是错误的,
form1.Series1.Clear;
该语句是将series1所绘曲线全部清除
所以,form1.Series1.Clear;
form1.Series1.AddXY(x,y);
这两句循环下来的话,CHART图表下只留有一个点了!
fanchael 2010-03-16
  • 打赏
  • 举报
回复
form1.Series1.Clear;
form1.Series1.AddXY(x,y);
我觉得从理论上讲是没有问题的。因为x,y其实就是x,y轴的数值。只要你固定每组点的x,y的数值,点就可以画出来。
要注意的是:这条曲线每次都要从开始点到结束点运算刷新一次。
hongss 2010-03-15
  • 打赏
  • 举报
回复
单个Series不可能实现你要的效果吧?
bdmh 2010-03-15
  • 打赏
  • 举报
回复
小同志,一些不能实现的东西,就不要吊死在一棵树上,你就添加多个sereris又怎么了,其实你的效果完全可以不用chart,就是canvas上自己画,那样想怎么画就怎么画
liuhuan992 2010-03-15
  • 打赏
  • 举报
回复
就没有人能回答了?
liuhuan992 2010-03-15
  • 打赏
  • 举报
回复
怎样产生如图所示的效果,
贝隆 2010-03-15
  • 打赏
  • 举报
回复
顶UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
liuhuan992 2010-03-15
  • 打赏
  • 举报
回复
楼上的,你们都OUT了,
最新版的CHART控件都出到8。0版了,
就存在这个功能,呵呵,
明天结贴!
SQLDebug_Fan 2010-03-15
  • 打赏
  • 举报
回复
可以完全用Canvas画。
taixinltd 2010-03-15
  • 打赏
  • 举报
回复
series是不行的
xjjrocker 2010-03-15
  • 打赏
  • 举报
回复
思路很重要,只要实现了预计的效果,至于几条都无所谓,只要你用的习惯和效率高即可。
向来看重思路,不看重实现形式。
bdmh 2010-03-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 liuhuan992 的回复:]
各位前辈,我的截图就是CHART画出来的,只是不知道到底是如何操作的!
[/Quote]
你看到的画出后的结果,你怎么就认定人家就一个series呀
liuhuan992 2010-03-15
  • 打赏
  • 举报
回复
各位前辈,我的截图就是CHART画出来的,只是不知道到底是如何操作的!
liuhuan992 2010-03-14
  • 打赏
  • 举报
回复
这样所绘出来的曲线只有一条,而且是非正常曲线!
SQLDebug_Fan 2010-03-13
  • 打赏
  • 举报
回复
可以重复调用series1.Addxy(random(10),strtoint(edit1.Text));这个函数绘制图形。

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧