我的需求是要实时绘制一个曲线图,数据来源是从单片机实时读取,曲线图初始化要从坐标0开始打点,打满整个显示区域后,新的点要推出去旧的点(即右边的点推出去左边的点)以保持实时最新的数据显示,但要旧的数据点用鼠标可以拉回来查看。目前遇到的问题:
问题1:delphi中的Tchart控件怎么把初始曲线去掉(那段初始曲线是随机的,每次打开或刷新它都不一样)在控件中哪里的设置取消它?,如图:注:正常数据曲线才是我自己单片机过来的数据,初始曲线是tchart默认给的,现在就想取消它当不知道怎么取消。问题2:如果成功取消“问题1”中初始曲线后,我正常的数据曲线是不是从坐标0开始打点?如果不是从0开始我该怎么设置从0开始?问题3:由于是delphi新手,Tchart曲线数据打点的代码从网上找的,要实现“旧的数据点用鼠标可以拉回来查看”,这个功能还有点问题,可能是代码中使用了Delete(0);每次刷新数据都删除了最前面的点,导致只能显示那个框里的曲线,拖回去都是空的了。
下面附上打点的代码,请大佬指正一下
procedure TForm1.GraphTimer(Sender: TObject);
var tmpX:Double;
inputvalue:Double;
begin
inputvalue:=IdataToIdouble(13); //装入数据
With Series1 do
begin
tmpX:=XValues[1]-XValues[0];
Delete(0);
AddXY(XValues.Last+tmpX,inputvalue,'',clTeeColor);
end;
end;以上3个问题恳请熟悉Tchart的大佬解答一下,感谢感谢
问题1:delphi中的Tchart控件怎么把初始曲线去掉(那段初始曲线是随机的,每次打开或刷新它都不一样)在控件中哪里的设置取消它?,如图:注:正常数据曲线才是我自己单片机过来的数据,初始曲线是tchart默认给的,现在就想取消它当不知道怎么取消。问题2:如果成功取消“问题1”中初始曲线后,我正常的数据曲线是不是从坐标0开始打点?如果不是从0开始我该怎么设置从0开始?问题3:由于是delphi新手,Tchart曲线数据打点的代码从网上找的,要实现“旧的数据点用鼠标可以拉回来查看”,这个功能还有点问题,可能是代码中使用了Delete(0);每次刷新数据都删除了最前面的点,导致只能显示那个框里的曲线,拖回去都是空的了。
下面附上打点的代码,请大佬指正一下
procedure TForm1.GraphTimer(Sender: TObject);
var tmpX:Double;
inputvalue:Double;
begin
inputvalue:=IdataToIdouble(13); //装入数据
With Series1 do
begin
tmpX:=XValues[1]-XValues[0];
Delete(0);
AddXY(XValues.Last+tmpX,inputvalue,'',clTeeColor);
end;
end;以上3个问题恳请熟悉Tchart的大佬解答一下,感谢感谢
解决方案 »
- delphi中动态生分成的 quick report如何分页呢?
- C语句ss=::SysAllocString((LPCWSTR)&byEnd); 在Delphi如何写?
- FastReport 导出 Pdf 乱码
- 怎样导入或导出Firebird数据库中的数据表?
- [版务]最近本版倒分严重,请大家不要以身试法!
- 关于sendarp的用法,想从IP直接得到MAC地址
- 怎么声明一个结构体和一个结构体数组
- 简单问题:为什么DELPHI函数rigthstr用不了?要写头文件的吗?
- 在DBGRID中怎样选中一行或一列啊?
- 在C/S结构中中间层中的*.tlb中在定义参数类型中,type的下拉框中有许多的类型,可我怎么找不到一个string的?
- delphi+dcef3
- tidhttp url太长报400 bad request
問題1,2: 應該跑之前用 Series1.clear; 應該就可以解決.
問題3: 雙擊 chart, 叫出 設定頁面, 選擇 chart > General > mouse / zoom 設定一下參數, 應該不用delete data.