Tchart控件的请教

Dingding6120c 2010-08-14 09:32:43
各位大虾,请教一个小问题。我得到频谱仪返回的包络数组,想在软件上将其画出来。我用Tchart控件的Series->addarray()函数画出来了,可是我想在得到第二组数组时,将其画出,并将第二个数组大于第一个数组的部分用另外的颜色画出来,可是Series->addarray(x,y)的Y不能是一个变量,怎么办啊??
...全文
170 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kerbcurb 2010-08-19
  • 打赏
  • 举报
回复
俺一般用:Series[0]->AddXY( x, y, "", clTeeColor );
Dingding6120c 2010-08-17
  • 打赏
  • 举报
回复
不错,谢谢楼上,我知道了!!结题
周药师 2010-08-16
  • 打赏
  • 举报
回复
直接用Series[0]->AddXY(X,Y)吧
Dingding6120c 2010-08-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhouzhangkui 的回复:]
AddArray第二个参数为什么不能变?

“Series1->AddArray((b[i]-a[i]),i)”
你这里i难道不是变量吗?
[/Quote]
对啊,我想要i是变量,可是Series1->AddArray(const double *,const int)的定义中,第二个参数要求是const int 啊,会报错的,incompatible type conversion。对了,我用的是C++builder 6.0
周药师 2010-08-16
  • 打赏
  • 举报
回复
AddArray第二个参数为什么不能变?

“Series1->AddArray((b[i]-a[i]),i)”
你这里i难道不是变量吗?
Dingding6120c 2010-08-15
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double a[100],b[100];
randomize();
for(int i=0;i<100;i++)
{
a[i]=random(100);
b[i]=random(100);
if((b[i]-a[i])>0)
{Series1->AddArray((b[i]-a[i]),i); }
}
Series2->AddArray(a,100);
}
就是类似这样一个过程,我产生两个有100个元素的随即数组a[i]和b[i],用Series2画数组a,用Series2画b大于a的部分,可是Series1->AddArray(const double *,const int),其第二个参数不能变量啊,有没有别的什么函数能实现呢??
周药师 2010-08-15
  • 打赏
  • 举报
回复
“我想把这些点用另外的颜色画出来”
增加一条另外颜色的线就可以了,
Series[0]->addarray(x,y)
Series[1]->addarray(x,y)
Dingding6120c 2010-08-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhouzhangkui 的回复:]
没有看懂你的意思
[/Quote]
就是说定时从频谱仪获得当前信号包络,放在一个数组里,然后用Tchart组件Series->addarray(x,y)来将这个数组画出来,当我再次获得从频谱仪得到的包络,放在数组里时,也继续把它画出来,但是也许频谱仪的信号会增强,那么第二次得到的数组值会在某些点上大于第一次的,我想把这些点用另外的颜色画出来,应该用什么函数呢?因为Series->addarray(x,y)中,x是double数组,而y是固定值,而我要在可变的y值中画图。
ImJaden 2010-08-14
  • 打赏
  • 举报
回复
来学习,没有用过TChart
周药师 2010-08-14
  • 打赏
  • 举报
回复
没有看懂你的意思
zzbinfo 2010-08-14
  • 打赏
  • 举报
回复
没有用过这个,纯帮顶

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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