最近接触得比较多C++Builder的Tchart和TDBchart这两个控件,也在网上搜索了很多资料,我就整理一下把常用的分享一下。

一、显示数据柱数据图表DBChart对象用于在报表中插入图表。双击数据图表对象,可以调出图表编辑器:

(1)Series类型:(a)Format页(数据柱的风格)在Color Each中打勾,就可使用多种颜色显示,color按钮用于设置颜色,Style用于设置图表的风格(Rectangle长方体,Pyramid三角体,Invert.PyramId倒三角体,Cylinder圆柱体,Ellipse圆形,Arrow箭头,Rect.Gradient立体长方体[推荐],Cone不显示),Border按钮设置数据柱的边线属性,Pattern按钮设置数据柱的显示类型,Bar Width设置数据柱间的距离,Bar Offset设置数据柱与纵刻度的距离,(b)General页(数据柱的一般设置)Show in Legend选项是否显示右上角的数据说明,Horizontal Axis设置横刻度的位置,Vertical Axis设置纵刻度的位置,Formats设置数据柱的格式,(c)Marks页(标记,数据内容显示设置)数据内容显示设置:在Style中选相关的选项,标记的类型:Value值、Percent百分率、Label字段内容、Label and Percet字段内容+百分率、Label and Value字段内容+值、Legend与右上角的数据说明一样、Percent Total百分率+值、Label&Percent Total字段内容+百分率+值。Visible选项是否显示标记;Transparent选项是否显示标记的颜色;Clipped选项是否让标记超过刻度;Arrows用于设置标记下垂线的属性。Back Color设置标记的颜色;Font设置标记的字体大小;Border设置标记的边线;(d)Data Source页:(数据连接)要连接图表到数据字段,通过SQL语句查询,取得两个字段的数据(如:品种名,吨数(各品种的合计数))。

(2)General页(图表的普通设置)其中'Print Preview'按钮是用于打印图表。'Zoom'为缩放设置。'Margins(%)'是设置整个图表的位置。

(3)Axis页(轴的相关设置)'Title'页用于设置竖轴的相关属性,Title设置要显示的竖轴的名称'Labels'页中的'Font'按钮用于设置左边刻度的字体大小,Size用于设置各轴的距离,Angle用于设置刻度的宽度,Min.Separation%用于设置刻度的比例。Valuse Format用于设置格式(一般不用改)'Position'页用于位置的设置,Position%是设置刻度位置,Start是设置刻度高度。

(4)Titles页(图表标题的设置)'Font'按钮用于设置字体大小,Back Color设置颜色,Alignment用于设置标题的位置。

(5)Legend页(右上角说明的设置)Visible选项是否显示说明;Back Color设置说明背景的颜色;Font设置说明的字体大小;Frame设置说明的边线;Resize Chart选项用于设置是否让图表覆盖说明;Inverted选项用于设置从左或从右显示字段颜色;Position选项用于设置说明在图表组件中的显示的位置;Margin设置图表的大小;Legend Style设置说明的风格;Text Style设置说明的内容(Plain字段内容、Left Value值+字段、Right Value字段+值、Left Percent百分率+字段、Right Percent字段+百分率、X Value从0开始);Dividing Lines设置说明中是否显示分格线;Shadow设置说明的背景属性。

(7)Walls页(设置刻度的其它属性)。

二、使用方法

静态使用:

1. 添加控件:TeeChart std中选择TDBChart;

2.右键选择EditChart...

3.从Chart选项卡Series子页面中点击ADD按钮添加Series

4.切换到Series选项卡的DataSource子页面,从下拉菜单中选择DataSet;

5.然后从dataset下拉框中选择用作数据源的adoquery;

6.然后为adoquery建立连接,输入查询语句,激活获取数据,

7.好了曲线图画出来了,如果只想要2d的曲线则选择Chart选项卡的3D子页面,将3D Dimension的勾选去掉即可;

动态调用:

TADOQuery *ado = new TADOQuery(NULL);
   ado->conn;
   ado->SQL->Clear();
   ado->SQL->Text = "select * from "+IntToStr(id);
   cht->Title->Text->SetText("曲线图")  ;  //cht为TDBChart控件,为控件设置标题
   cht->Series[0]->DataSource = ado;   //设置数据源
   cht->Series[0]->ValueFormat=  "#.#"; //设置数据格式
   cht->Series[0]->XLabelsSource ="id";  //绑定x轴与数据源的字段“id”
   cht->Series[0]->XValues->Name = "时间";  //设置x轴名称
   cht->Series[0]->XValues->ValueSource = "id";//绑定x轴数据与数据源的字段“id”
   cht->Series[0]->YValues->Name = "值";//设置y轴名称
   cht->Series[0]->YValues->ValueSource = "zhi";  //绑定y轴数据与数据源的字段“zhi”
   cht->Series[0]->ShowInLegend = false;  //设置不显示图例,只显示曲线图
   ado->Open();

三、使用技巧

1、 TChart中如何实现只有Y轴的放大与缩小功能?

设置BottomAxis或者LeftAxis的Automatic:=false并同时设置Minimum,Maximum属性

2、 如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化?

//设置底座标

with myChart.BottomAxis do

begin

Automatic:=false;

Minimum:=0;

LabelStyle := talText;

end;

//设置左坐标

with myChart.LeftAxis do

begin

Automatic:=false;

Minimum:=0;

Title.Angle:=270;

Title.Font:=Self.Font;

Title.Font.Charset:=ANSI_CHARSET;

Title.Font.Name:='@宋体';

Grid.Visible := False;

end;

//设置右坐标

with myChart.RightAxis do

begin

Automatic:=false;

Title.Font:=Self.Font;

Title.Font.Charset:=ANSI_CHARSET;

Title.Font.Name:='@宋体';

Title.Caption:='累计百分比(%)';

Maximum:=100;

Minimum:=0;

end;

3、  如何删除一个图形中的一个点?

使用Series的delete 方法

4   、 如何修改一个点的X或者Y 值?

LineSeries1.YValue[3] := 27.1 ;

{In Bubble Series}

BubbleSeries1.RadiusValues.Value[ 8 ] := 8.1 ;

{In Pie Series}

PieSeries1.PieValues.Value[ 3 ] := 111 ;

5 、如果横坐标是时间(日期),如何进行设置?

{First, you need to set the DateTime property to True in the desired X and/or Y values list.}

LineSeries1.XValues.DateTime := True ;

{Second, use the same above described methods, but give the values as Date, Time or DateTime values}

LineSeries1.AddXY( EncodeDate( 1996 , 1 , 23 ) , 25.4 , 'Barcelona' , clGreen );

6、如何在chart中画出的曲线某个点上标记出该点的值?

Series.Marks.Visible:=true;

Series.Marks.Style:=smsValue;

7、  如何设置横轴或者纵轴的增长率?

Chart.BottomAxis.Increment := DataTimeStep[ dtOneHour ] ;

Chart.RightAxis.Increment := 1000;

C++Builder Tchart与TDBchart相关推荐

  1. DELPHI第三方控件及组件大全(安装方法与使用)

    一,DELPHI第三方控件安装方法介绍 1.对于单个控件,Componet–>install component..–>PAS或DCU文件–>install; 2.对于带*.dpk文 ...

  2. delphi7 安装delphi 5 delphi 6控件

    delphi7默认没有安装.需要手动安装.  具体位置:delphi7/bin/dclsockets70.bpl. 安装方法如下: Component->Install Packages-> ...

  3. delphi7 如何加载控件

    1.delphi7 如何加载Fastnet控件 在CSDN中搜索了半天,都说Fastnet控件没有办法加载,要么安装delphi6.0 要么用indy,这种说法只能说明,回帖的人没有能够领会,提出问题 ...

  4. Teechart图表教程:Teechart的安装

        Steema是全球领先的图表类控件公司,总部设在西班牙的巴塞罗那附近,Steema公司的VCL图表报表控件在全球拥有极高知名度.Steema公司和慧都科技针对中国市场联合推出中文版TeeCha ...

  5. TeeChart Pro VCL/FMX教程之3D图表和OpenGL

    TeeChart Pro VCL/FMX是一款主流的图表制作工具.提供了数百种用于可视化的2D.3D图形样式.56种数学.统计和金融函数,以及不限数量的坐标轴和30种调色板组件.TeeChart Pr ...

  6. C++ builder XE 关于intraweb TChart转换成IWimage的网页显示处理

    //先随机生成三条柱状图形对比,但是如果光是TChart是无法显示在intraweb网页上的,需要转成图片显示 void __fastcall TIWForm1::IWButton3Click(TOb ...

  7. 使用 Flash Builder 的 Apple iOS 开发过程

    使用 Flash Builder 的 Apple iOS 开发过程 iOS 开发和部署过程概述 构建.调试或部署 iOS 应用程序前的准备工作 在测试.调试或安装 iOS 应用程序时选择的文件 将应用 ...

  8. Unity Pro builder创建模块化仓库建筑学习教程

    Unity内部的专业3D编辑工作室 你会学到: 直接在Unity内部学习3D建模 使用专业构建器的专业方法 为您的游戏创建模块化资产 了解如何为您的三维模型设置纹理 三维资产的模块化布局 专业后期制作 ...

  9. Flash Builder 找不到所需的Adobe Flash Player调试器版本的解决办法

    Flash Builder在Debug时出现的问题:Flash Builder 找不到所需的Adobe Flash Player调试器版本 解决方法: 1. 进入Flash Builder的安装目录 ...

最新文章

  1. 2019 GDUT Rating Contest I : Problem H. Mixing Milk
  2. 修改sqlplus中显示时间日期的格式
  3. python 执行ping命令_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!...
  4. win7安装virtualbox遇到的问题
  5. 生产环境JVM内存溢出案例分析
  6. 一文教你机器学习场景化分析!
  7. C/C++ 给Python写扩展模块
  8. Tomcat到Wildfly:配置数据库连接
  9. 《那些年啊,那些事——一个程序员的奋斗史》——78
  10. jquery、javascript实现(get、post两种方式)跨域解决方法
  11. Java基础(一)——基本语法
  12. 10分钟开始使用ICTCLAS Java版
  13. ubuntu13.10安装mysql_Ubuntu 10.10 源码安装MySQL 5.1.34
  14. HDU 3829 Cat VS Dog
  15. Listview实现不同类型的布局
  16. php7.2 加密,php 7.2 aes 128 ECB 加密
  17. 【翻译】Java 面向对象编程基本概念
  18. 淘宝小程序开发注意点
  19. 深入浅出ASP .NET Core学习记录
  20. SAP MM模块库存结存报表

热门文章

  1. 最土团购如何新建城市
  2. 数据可视化:icon统一风格
  3. 佳能相机5D4死机后找不到视频文件的数据恢复案例
  4. 软考--流水线问题吞吐率详解
  5. ios 去掉底部状态栏_iOS状态栏隐藏及显示问题终极解决方案
  6. Unity3d 周分享(21期 2019.7.30 )
  7. 基于PYTHON的ABAQUS后处理开发!
  8. ESP8266/8285/32 系列透传固件 JFirmwareESP v3.5.0 发布(重大更新)
  9. 【概率论基础】概率论的一些基础概念以及公式
  10. 2020液化石油气瓶充装考试试题及液化石油气瓶充装操作证考试