请兄弟们介绍一个delphi的曲线控件,最好简介一下啊

解决方案 »

  1.   

    随着现代测控系统数据处理量的增大和对人机交互界面要求的提高,其主控系统采用高档计算机的越来越多。Microsoft Windows系统强大的RAD语言开发工具如Delphi等为用户设计优美的图形界面提供了方便,为测控系统建立高度友好的用户界面奠定了基础。  在我们开发的计算机液氮制冷控制系统中,要求能够实时采集测量温度值,将实测温度值与时间的关系绘制成曲线显示出来,并能够放大、缩小和打印,以便观测并与给定降温曲线进行比较,查看控制效果。系统采用Delphi 5.0进行开发,利用32位控件Tsp_XYPlot和 Tsp_XYLine实现了实时数据采集曲线的绘制与打印。
      二、曲线绘制控件的选择与安装
      Delphi软件提供了图表部件Chart,可以生成条形图、折线图、饼图等各种形式,并允许具有三维外观等视觉特性。Chart包含两种不同的控件,分别用于创建一般数据图表和数据库图表,这两个控件分别是Additional页上的Chart控件和DataControls页上的DBChart控件。本系统需要实时测量温度的实际值,并绘制温度值(Y轴)和时间(X轴)的关系曲线,以便观测,而这两个控件绘制出的图形或曲线是以某些数据或某一个数据库表为基础,不便实时更新。所以Chart部件在用于绘制系统实时测量曲线时不太合适。为了解决实时测量曲线绘制的难题,在网站http://www.iae.nsk.su/~lab12/pod上找到了能实现该功能的控件,控件Tsp_XYPlot和Tsp_XYLine专门用来绘制二维图形,调用控件的过程和函数能够实现图形的绘制、打印等。可以在窗口上设定需要的坐标轴,坐标轴的网格线、宽度、刻度及坐标轴的最大、最小尺寸、颜色等,曲线是否显示、颜色、线型、粗细及曲线的点是否显示和形状等,还可以实现图形放大、缩小显示、打印等功能。免费下载其软件包spsgraph.zip,包中有:支持控件的pascal源文件、帮助文件和演示程序等。  文件下载成功后,将包解开,按以下步骤安装控件到Delphi组件中。  1.启动Delphi后,进入Component,点击Install Component进入其界面。  2.在Install Component界面上的unit file name 选项中,按browser找到spsgraph子目录,选择sgr_date.pas,然后按ok,出现提示框:Package dclusr50.bpl will be rebuilt, Continue? 按yes继续。  3.出现提示框:Package 'dclusr50' will be compiled. Continue? 按yes 继续。  4.重复步骤1~3,依次将spsgraph子目录下的sgr_def.pas、sgr_misc.pas、sgr_reg.pas、sgr_scale.pas 文件安装,则控件安装完成。  控件安装完成后,自动安装在Samples控件中。以后使用时,从Samples中取出控件放在窗口界面上即可。
      三、曲线绘制控件的使用
      控件Tsp_XYPlot 和Tsp_XYLine可以通过适当配置完成单条和多条曲线的绘制操作,从而可以实现在一幅图中显示几种不同的曲线。主要控件Tsp_XYPlot提供基本绘图功能,是坐标轴、图形曲线的画布。利用Tsp_XYLine可以在Tsp_XYPlot上绘制二维图形或曲线。  1.TSP_XYPlot控件设计时常用属性  Tsp_XYPlot控件有两个横轴、两个纵轴。轴的最大值、最小值可以自动或手动设置。程序设置时主要设置坐标轴属性,四个坐标轴为:左轴、右轴、顶轴、底轴,其属性基本相同。  Width、height:设置Tsp_XYPlot的宽度和高度值。  AutoMax、AutoMin:最大、最小值属性,true:自动设置坐标轴的最大、最小值,false:手动设置最大、最小值。  GridAttr:网格线属性,设置网格线颜色、粗细、形式及是否翻转等。  LineAttr:坐标轴属性,设置坐标轴颜色、粗细、形式、最大值、最小值、是否标记、刻度值等。  2.TSP_XYLine控件设计时常用属性  Plot:绘图设置属性,用于设置绘制TSP_XYLine的画布。选择Frame上的Tsp_XYPlot控件。  Xaxis、Yaxis:X、Y轴设置属性,选择左、右、顶、底轴中的两个轴。  LineAttr:曲线线型属性,设置曲线颜色、粗细、形式。如在同一个Tsp_XYPlot控件上绘制两条以上曲线时,为区分可以设置不同的曲线颜色。  PointAttr:曲线上点属性,设置点的颜色、大小、种类、形式、是否可见等属性。  3.TSP_XYLine控件运行时常用属性  Clear:清除绘制的曲线  InsertXY( I: integer; X:double; Y:double ):在曲线上第I个位置开始绘制点,X、Y为要绘制的横、纵坐标值。  AddXY(X:double;Y:double):在Tsp_XYPlot控件上画(X,Y)点。
      四、实时数据采集曲线的绘制
      绘制实时数据采集曲线是为了方便实时观测,实际中一般是与给定控制曲线进行比较,以便观察控制效果。绘制曲线前首先将需要的坐标轴及坐标轴的尺寸、刻度等设定好,然后根据测量结果及采集时间绘制实时测量曲线  1.坐标轴与网格的设置  新建一个Form,属性Name为 mainform。添加一个Tsp_XYPlot和TSP_XYLine控件,其Name属性分别为xyplot1和xyline1。然后开始设置xyplot1和xyline1的各种属性。在计算机液氮温度控制系统中,温度控制范围为40℃~200℃,控制时间为15分钟,左轴(纵轴)为实测温度,底轴(横轴)为时间。左轴设置:clBlack(黑色)、1(轴宽度)、psSolid(实线)、40(最大温度)、-160(最低温度)、11(刻度数)。底轴设置:clBlack(黑色)、1(轴宽度)、psSolid(实线)、15(最大时间)、0(最小时间)、11(刻度数)。其他属性按默认选项设置。  网格线设置:clgray(灰色), psSolid(实线),其是否可见属性为:true。  2.实时曲线绘制   设置好坐标轴和网格属性后,利用TSP_XYLine控件的过程InsertXY( I: integer; X:double; Y:double ),可以开始绘制实时曲线。设xyline1的plot属性为xyplot1,为了将实测曲线与给定曲线区分开,设置实测曲线的xyline1.LineAttr.color:=clred;即设置颜色为红色。系统实际运行时,测量一个数据,则插入一点,直到测量结束。其曲线绘制部分程序为:  xyline1.LineAttr.Color:=clred; //设置颜色为红色  xyline1.insertxy(0,x,y); //xyline1.insertXY(0,x,y); //插入点  3.放大、缩小显示效果的实现  通过调整Tsp_XYPlot的width和height属性值,可以使显示的图形区域放大或缩小,可以程序设置也可以在运行窗口上用鼠标拖放以使显示图形放大或缩小。通过增加或减少刻度值可以使图形的网格线增多或减少。在程序中设置如:  xyplot1.width=438,  xyplot1.height:=568;  xyplot1.LeftAxis.TicksCount :=11;  xyplot1.BottomAxis.TicksCount=6;
      

  2.   

    另外你用Delphi自带的Tchart也不错的。
    在组件面板Additional下。
      

  3.   

    画数据曲线我一直用TChat,
    很方便的。