delphi Tchart绘制实时曲线 20

我在用Tchart绘制实时曲线,将传感器采集到的数据实时显示在tchart组件上,由于要采集10000组数据,存储在数组中,所以只能显示这些数据中的一部分,100个左右,... 我在用Tchart绘制实时曲线,将传感器采集到的数据实时显示在tchart组件上,由于要采集10000组数据,存储在数组中,所以只能显示这些数据中的一部分,100个左右,只显示最新的100个数据,现在这部分我已经完成,可以实时显示,但又有新的要求,需要可以用鼠标拖动曲线,可以显示出10000组数据的任意部分,还可以放大缩小曲线,这个好像是组件自带的属性,但是对于图像的拖动该如何解决,还请各位大侠帮忙!以下是代码Time组件中的采集部分,采集的数据暂时用随机数代替:

procedure TForm1.Timer1Timer(Sender: TObject);

var
LineSeries:TLineSeries;
I,J,data1:integer;
data:real;
flag:boolean;
begin
//产生随机数
flag:=false;
Randomize; //每次随机数不同
data1:=900+(random(1090-900)); //产生930到 1060之间的随机数
data:=data1/10;

if (zone<10000) then
begin
ok[zone]:=data;
zone:=zone+1;
end
else //走到头,图像左移
begin
zone:=10000;
ok[zone]:=data;
flag:=true;
end;

//chart1.Color:=ClRed;
chart1.BevelOuter:=BvNone;
chart1.Legend.Visible:=False;

LineSeries:=TLineSeries.Create(chart1);
LineSeries.ParentChart:=chart1;
LineSeries.ShowInLegend:=False;
LineSeries.Marks.Style:=Smsvalue;
LineSeries.SeriesColor:=ClRed;
Randomize;
chart1.SeriesList.Clear;

if (d<=200) then
begin
For I:=0 To 200 Do
LineSeries.AddXY(I,ok[9800+I]);
chart1.SeriesList.Add(LineSeries);
d:=d+1;
end
else
begin
For I:=0 To 200 Do
LineSeries.AddXY(ti+I,ok[9800+I]);
chart1.SeriesList.Add(LineSeries);
ti:=ti+1;
end;

if (flag=true) then
begin
for t:=1 to 10000 do //数组中数据向前传递
begin
ok[t-1]:=ok[t];
end;
end;
// zone:=zone+1;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Timer1.Enabled:=true;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Timer1.Enabled:=false;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
j:integer;

begin
// 初始化数组
for j:=0 to 10000 do
ok[j]:=100;

ti:=0;
d:=0; //计数到100移动
zone:=9800;;
end;
这个是我改过的代码,显示200个数据,从tchart组件最左边开始显示,移动到最右边后,图像整体开始往左移,新数据点从最右边进入。其实,我的核心问题是,能否只显示lineseries中的一部分,比如它还有10000个数据,只显示其中的200个。
展开
 我来答
suetrain
2010-08-05 · TA获得超过178个赞
知道小有建树答主
回答量:244
采纳率:100%
帮助的人:186万
展开全部
设置tchart的MaxPointsPerPage属性为200
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东莞大凡
2024-08-07 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间... 点击进入详情页
本回答由东莞大凡提供
严登鸿
2019-02-22
知道答主
回答量:9
采纳率:100%
帮助的人:5772
展开全部
请问楼主有相关的Tchart例程或学习资料吗?我也有和您很相似的需求,想自己学习一下,如果有麻烦发送到我邮箱767657686@qq.com 谢谢你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式