TeeChart(1)

 

一:TeeChart介绍

TeeChart Pro是一款提供上百种2D和3D图形风格、40种数学和统计功能、加上无限制的轴和22种调色板组件供选择。提供上百种2D和3D图形风格、40种数学和统计功能、加上无限制的轴和22种调色板组件供您选择。提供上百种2D和3D图形风格、40种数学和统计功能、加上无限制的轴和22种调色板组件供选择,TeeChart还包括一个强大的、完整的编辑对话框,几乎可用于每个组件和子组件,允许你快速的设计复杂图表应用程序。图表编辑器通过TeeCommander组件进一步得到增强,它提供一次点击访问图表编辑器和共同特征。

 

二:主要特性

●是32位ActiveX控件,可以在VB、Delphi、MS Office等多种编程环境下使用;

●可以直接存取ODBC数据源;

●具有11种标准的和9种扩展的Series类型;

●提供16种统计函数;

●支持2D和3D效果,支持缩放和滚动;

●可以将图表输出为Bitmap、Metafile、JPEG 或者Native Chart 格式;

●支持用户绘图和打印;

●是集成化的设计工具;

●提供例子和在线帮助。

 

三:TeeChart类的属性和方法

TeeChart的主类是TChart。TChart中使用了众多的属性方法和事件,随着版本的升级将越来越丰富。这使得TChart具有非常强大的功能。本文仅简单地介绍其中一些重要类的属性和方法。

●TChart.Height:图表的高度(像素); 

●TChart.Width:图表的宽度(像素);

●TChart.Header:图表的题头(Ititles类);

●TChart.Series:序列(Series类的数组);

●TChart.Axes:坐标轴(Iaxes类);

●TChart.Legend:图例(Legend类);

●TChart.Panel:面板(Ipanel类);

●TChart.Canvas:画布(Canvas类)。

Series是要显示的数据的主体。在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。

Axes控制图表坐标轴的属性,在缺省的情况下,坐标轴可以自动地根据不同的数据设置好标度范围和间隔,当然也可以手工调整。

Legend控制图表的图例显示。Legend是图表中的一个长方形的用来显示图例标注的区域。可以标注Series的名称或者Series中的项目和数值。

Panel可以设置图表的背景。可以使用渐变的颜色或者图像文件作为整个图表的背景

Canvas可以让设计者绘制自己的图形。使用方法和Delphi中的Canvas一样。有TextOut、LineTo、Arc等各种画图的方法可以调用。

TChart的一些属性实际上是其他类的变量,这些类又具有自己的属性和方法。如Ititles类又具有Text、Color、Font等属性,我们可以用这些属性来设置题头的文本、颜色和字体。

TeeChart和其他的图表控件相比,有一个非常重要的特点是TeeChart可以把图表保存为一个JPEG格式的图形文件。调用格式如下:

TChart.Export.SaveToJPEGFile (FileName,Gray,Performance,Quality,Width,Height)

其中FileName是JPEG文件的保存路径和文件名,路径应该是操作系统中的绝对路径,而不是IIS中的相对路径,IIS对相应的保存目录应该具有写权限。Gray指明是否保存为黑白图像。Performance指明JPEG是生成质量优先还是速度优先。Quality是一个0到100的整数,100时JPEG质量最好,但文件最大;Quality越小则生成的文件越小,但图像质量也随之下降。

 

四:VC

  对于Visual C++就不做多的介绍了,因为发现也没有什么特别的语言去介绍该语言的功能。这里采用Visual C++6,TeeChart版本为5来实现。

 

五:实现办法

一)导入vc中

1)  将TeeChart5进行系统注册。

2)  在VC中选择 Project / Add to Project / Components And Controls/下选择Registered ActiveX Controls,然后找到TeeChart Pro Activex control v5。选择确定即可,这样在我们的项目中出现很多的类,同时在控件区域会出现

 

二)属性设置

 

单击右键,选择Edit …..

 

当然,也可以根据要求,在语言里面进行处理。但是也必须包含以下的头文件

#include "tchart.h"

#include "series.h"

#include "valuelist.h"

#include "axes.h"

#include "axis.h"

#include "pen.h"

#include "axislabels.h"

#include "teefont.h"

#include "axistitle.h"

#include "aspect.h"

#include "fastlineseries.h"

#include "titles.h"

#include "fastlineseries.h"

#include "panel.h"

#include "legend.h"

#include "tools.h"

#include "toollist.h"

#include "annotationtool.h"

 

 

设定信息如下(该CHART控件名称为:m_Chart)

   //清空chart -----------------------------------

         m_Chart.ClearChart();

      m_Chart.RemoveAllSeries();

  //CHART框架

        m_Chart.GetFrame().SetVisible(true);

        m_Chart.GetFrame().SetColor(RGB(255,255,255));

/*根据自定义背景色来设置,我这里设定背景色为白色,所以也设定为边框为白色,这样就看不到的,如果不加入,该颜色就默认为黑色的

//重要,否则出现边框为默认黑色的.如果要改变背景颜色,那么对应的此处颜色要进行更改的

*/

        m_Chart.GetPanel().SetColor(RGB(255,255,255));

        m_Chart.GetLegend().SetVisible(false);

 

// 添加3条曲线 ---------------------------------

m_Chart.AddSeries(0);

m_Chart.AddSeries(0);

m_Chart.AddSeries(0);

 

// 设置3条曲线的坐标轴 -------------------------

m_Chart.Series(0).SetVerticalAxis(0);

m_Chart.Series(1).SetVerticalAxis(0);

m_Chart.Series(2).SetVerticalAxis(0);

m_Chart.Series(0).SetHorizontalAxis(1);

m_Chart.Series(1).SetHorizontalAxis(1);

m_Chart.Series(2).SetHorizontalAxis(1);

m_Chart.Series(0).GetXValues().SetDateTime(true);

m_Chart.Series(1).GetXValues().SetDateTime(true);

m_Chart.Series(2).GetXValues().SetDateTime(true);

 

// 设置3条曲线的颜色 ---------------------------

m_Chart.Series(0).SetColor(RGB(255,0,0));

m_Chart.Series(1).SetColor(RGB(0,255,0));

m_Chart.Series(2).SetColor(RGB(0,0,255));

 

// 设置3条曲线的名称

m_Chart.Series(0).SetName("ZongFengGuan");

m_Chart.Series(1).SetName("LieCheGuan");

m_Chart.Series(2).SetName("ZhiDongGang");

//-----设定最大最小值

m_Chart.GetAxis().GetBottom().SetMinMax(minStar,minEnd);

// minStar,minEnd要求自己去添加,这里用的是时间的范围

//一般为起始时间和结束时间的范围的

// 连接数据库 ----------------------------------

CXDatabasedb;

_RecordsetPtrpRs;

CStringstrSql;

if(!db.Connect("ACCESS","",GetRootDir()+"//db1.mdb","",""))

{

AfxMessageBox("连接数据库失败!");

return;

}

 

strSql.Format("select * from %s where RunTime>=#%s# and RunTime<=#%s#",m_strTableName,strMinTime,strMaxTime);

pRs = db.ExecuteSql(strSql);

while(pRs!=NULL && !pRs->adoEOF)

{

// 添加数据点 ------------------------------

double dTime = oletime2chttime(COleDateTime(pRs->GetCollect("RunTime")));

double dZFGPress = var2dbl(pRs->GetCollect("ZFGPress"));

double dLCGPress = var2dbl(pRs->GetCollect("LCGPress"));

double dZDGPress = var2dbl(pRs->GetCollect("ZDGPress"));

 

m_Chart.Series(0).AddXY(dTime,dZFGPress,NULL,RGB(255,0,0));

m_Chart.Series(1).AddXY(dTime,dLCGPress,NULL,RGB(0,255,0));

m_Chart.Series(2).AddXY(dTime,dZDGPress,NULL,RGB(0,0,255));

 

pRs->MoveNext();

}

 

// 断开数据库连接 ------------------------------

db.Disconnect();

 

 

后记

   其实,TeeChart的功能非常强大。我们可以在此建立丰富的图形表示。下面是在一个工程当中从串口中获取数据分析得到的电流和能耗的实现的实时曲线绘制。实现两轴控制显示!

 

参考文献

  http://www.access911.net中《在VC中谁用过Teechart》

http://www.ccw.com.cn 计算机世界网-TeeChart控件的应用.

http://www.bc-cn.net/  《VC环境中调用TeeChart控件实现数据曲线分析》

 

源文档 <http://blog.youkuaiyun.com/kw123/archive/2007/10/08/1815744.aspx>

 

 

<think>好的,我现在需要处理用户关于TeeChart的查询。用户提到他们想了解或使用TeeChart相关的技术信息,特别是教程和示例代码的下载。首先,我需要确认用户的具体需求是什么,他们可能是在开发中遇到了问题,或者刚开始使用TeeChart,需要基础指导。 根据用户提供的引用内容,他们提到的是Java TeeChart的使用,但引用的示例代码看起来像是VB或C#的语法,比如axTChart1.Series(i).AddXY方法。这可能意味着用户可能在混淆不同的语言版本,或者引用来源有误。因此,我需要先澄清TeeChart在不同语言中的使用情况,避免给出错误的指导。 接下来,用户需要教程和示例代码。TeeChart有多个版本,包括.NET、Java、PHP等,每个版本的教程和资源可能不同。我需要确定用户使用的是哪个版本,但根据问题描述,用户可能是在使用Java版本,但示例代码看起来像.NET的,所以可能需要进一步确认。不过,假设用户确实在使用Java版本,我需要提供相应的资源链接。 另外,用户可能需要下载示例代码。通常,TeeChart的官方网站会提供示例代码和文档,但可能需要购买或注册后才能下载。对于开源或免费版本,可能有不同的获取方式。此外,GitHub或其他代码仓库可能有社区贡献的示例,这也是一个资源来源。 我还需要检查用户提供的引用链接是否有效,但用户给出的引用链接似乎是一个示例,可能并不存在。因此,应该引导用户到官方网站或可信的资源站点获取资料。 另外,用户的问题可能需要分步骤回答:首先介绍如何获取教程,然后是如何下载示例代码,可能还需要说明如何安装和配置TeeChart库。同时,要确保回答符合系统级指令,比如使用正确的中文,数学公式用$符号包裹,但在这个问题中可能涉及较少数学内容,但如果有代码示例,需要正确使用代码块格式。 可能还需要提醒用户注意不同编程语言下的TeeChart使用差异,比如在Java、C#或PHP中的API可能不同,避免用户混淆。此外,如果用户遇到具体的问题,比如如何添加数据点,可以给出具体的代码示例,如引用中的AddXY方法,但要确保示例代码的语言正确性。 最后,生成相关问题,可能需要围绕TeeChart的安装、基本使用、高级功能、问题排查等方面展开。确保问题对用户进一步探索有帮助。</think>### TeeChart使用教程与示例代码获取指南 TeeChart是一个跨平台图表控件库,支持.NET、Java、PHP等多种语言。以下是关键步骤: 1. **官方资源获取** - 访问[TeeChart官网](https://www.steema.com/) - 选择对应语言版本(如Java/JS版入口为[TeeChart Java](https://www.steema.com/teechart/java)) - 在文档中心查看《TeeChart Pro Java Tutorials》 2. **数据添加示例(Java版)** ```java // 创建Series对象 Line series = new Line(chart1.getChart()); // 添加数据点 series.add(10, 20); series.add(20, 35); ``` 3. **示例代码获取途径** - 购买授权后获得完整示例包 - GitHub搜索[TeeChart-Java-Examples](https://github.com/Steema/TeeChart-for-Java/tree/main/demos) - 官方论坛[Steema Community](https://support.steema.com/)获取代码片段 4. **快速上手步骤** ① 下载[TeeChart Java评估版](https://www.steema.com/downloads/java) ② 导入`teechart.jar`到项目 ③ 参考基础教程创建柱状图: ```java Chart chart = new Chart(); Bar series = new Bar(chart.getChart()); series.add(15, "Q1"); series.add(25, "Q2"); ``` [^1]: 基础数据添加方法参考自TeeChart官方Java文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值