bcb的TChart组件是一个用来画坐标图的组件,它的集成度很高,用它可以很方便地画出所需要的坐标系和图形。而且可以是二维的,也可以是多维的。TChart为画图提供了各式各样的模版。下面的这个工程是TChart组件的最简单用法,它仅仅生成了一个二维坐标系,并在这个坐标系上将一个txt文件中记录的随机二维坐标显示出来。
1、建一个bcb工程,将Additional组件组的Chart组件拖入form中。
2、双击form中的TChart,出现Editing Chart对话框,建立一个TChart的实例,选择Series->Add,出现Standard框。这里就是TChart提供的实例模版。我们选择一个二维的,去掉下面3D选项的对号,出现二维模版。选择Point显示点的二维坐标轴。点击OK,在Series框的Series Title中就会添加进一个Series1。
3、设置TChart组件的属性,双击form中的TChart,出现Editing Chart对话框。选择Axis项,在这里bottom表示x轴,left表示y轴。首先选择Axis项的left,找到Scales->Automatic属性,去掉它的对号,点击下面的Change按钮,设置坐标轴的长度。在此,将最大值设为50,最小值设为-50。同样设置bottom为-50到50。然后设置left的title为Y,bottom的title为X。选择Panel项,将Start Color和End Color都设为白色。关闭对话框。
4、设置画出的点的属性,调出Editing Chart框,选择Series,双击Series Title中的Series1,找到Format框,在这里设置点的属性。将Width和Height都设为1,Style设为Square,其他默认。关闭窗口,效果如下图:
5、在form上添加两个Edit和两个Button。在命名为“画点”的按钮下添加如下响应事件:
double x,y;
int count;
TStringList *List=new TStringList();
Chart1->Title->Text->Clear();
Chart1->Title->Text->Add(Edit1->Text);
count=StrToInt(Edit2->Text);
List->LoadFromFile("a.txt");
for(int i=0;i<count;i++){
x=StrToFloat(List->Strings[i]);
y=StrToFloat(List->Strings[++i]);
Series1->AddXY(x,y,255); //画点函数
}
这段代码很简单,主要作用是修改Chart的title,从a.txt中读出数据并显示。读取txt文件内容时用的是List组件,在这里动态生成了一个。退出”按钮: Close();
按F9运行,出现如下界面:
在标题栏中输入新的标题,此处样本点数为二维点的数目乘2,因为在这里的a.txt中,每读两次才能读出一个二维坐标。 即此处是要读的行数。将a.txt和生成的exe放入同文件夹下,这里我所给的a.txt文件中共有2000个点,所以在样本数的edit里应填入4000,运行,结果如下:
http://download1.csdn.net/down3/20070608/08021549584.txt a.txt下载