delphi根据csv文件的数据画图,新手求指点……

kyle_huang 2012-01-09 11:20:08
由于学习的原因,现在要用csv格式的数据画一个波形图(心电图)。没接触过画图的,真的不知道如何下手,求画过的前辈,指点迷津,谢谢!
------------------------
0:00.000,-0.145,-0.065
0:00.003,-0.145,-0.065
0:00.006,-0.145,-0.065
0:00.008,-0.145,-0.065
0:00.011,-0.145,-0.065
0:00.014,-0.145,-0.065
0:00.017,-0.145,-0.065
0:00.019,-0.145,-0.065
0:00.022,-0.120,-0.080
0:00.025,-0.135,-0.080
0:00.028,-0.145,-0.085
0:00.031,-0.150,-0.085
------------------------
部分数据如上。

请问怎么用这些数据画图?

谢谢!给点思路也是好的。用什么控件,或属性的?
...全文
136 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
erhan 2012-01-10
  • 打赏
  • 举报
回复
最简单的办法
procedure TForm1.Button1Click(Sender: TObject);
var
mc: TCanvas;
begin
mc := Form1.Canvas;
mc.Pen.Color := clBlue;
mc.LineTo(100,100);
end;
不过,窗口最小化,再还原,需要重画。可以网上查查别人是咋处理的。
kyle_huang 2012-01-10
  • 打赏
  • 举报
回复
不知道呢,能给了例子吗?什么是GDI?[Quote=引用 5 楼 warrially 的回复:]
用 GDI+ 话可以不?

把点连接起来
[/Quote]
爱蹄子的羊头 2012-01-10
  • 打赏
  • 举报
回复
用 GDI+ 话可以不?

把点连接起来
erhan 2012-01-10
  • 打赏
  • 举报
回复
坐标的概念啊,兄弟
时间为x轴,比如1毫秒为刻度,你取所有点的最小值为0(例中0.120),(0.145-0.120)*1000=25,这不就变成整数了嘛。
kyle_huang 2012-01-10
  • 打赏
  • 举报
回复
谢谢你的回答,Canvas.LineTo(x, y),参数是int类型的啊[Quote=引用 7 楼 erhan 的回复:]
最简单的办法
procedure TForm1.Button1Click(Sender: TObject);
var
mc: TCanvas;
begin
mc := Form1.Canvas;
mc.Pen.Color := clBlue;
mc.LineTo(100,100);
end;
不过,窗口最小化,再还原,需要重画。可以网上查查别人是咋处理的。
[/Quote]
kyle_huang 2012-01-09
  • 打赏
  • 举报
回复
备注说明:
1.所给数据均为文本格式,每行数据分三部分,之间用','分隔。
第一项:采样时间(一般为1分钟)
第二项:MLII值
第三项:V5值
-------------------------------------
字符串解析我知道。现在我不晓得怎么动手画了。
爱蹄子的羊头 2012-01-09
  • 打赏
  • 举报
回复
首先要读取csv文件,,这个就不用多讲了把?

自己解析字符串或者用ADO 都可以。

看你上面的格式
0:00.000,-0.145,-0.065

第一个应该是时间。 第二第三个是什么?

得先给大家讲一下
kyle_huang 2012-01-09
  • 打赏
  • 举报
回复
楼上的前辈,没用过Chart。再说也没找到类似波形图的例子啊。
s11ss 2012-01-09
  • 打赏
  • 举报
回复
TChart

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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