- 浏览: 145851 次
- 性别:
- 来自: 洛阳
最新评论
-
zenmshuo:
很详细,要是包含FlexChart的用法就更好了
Delphi中Chart组件,Chart控件用法 -
Draps:
输入 00123 判定为数字输入 100.123判定为非数字 ...
Delphi 判断一个字符串是否为数字 -
ylilike:
GDGZWQZ 写道下列办法可实现对话框自动定时关闭:在程序中 ...
delphi中SendMessage使用说明 -
GDGZWQZ:
下列办法可实现对话框自动定时关闭:在程序中插入一个定时器,设置 ...
delphi中SendMessage使用说明 -
think3t:
写的很详细~
delphi中SendMessage使用说明
本文主要讲解Delphi
中Chart
,TeeChart
的属性,方法及用法.Tchart
分析报告,
TeeChart
使用指南,TeeChart
控件介绍
1.AllowZoom : Boolean
是否允许鼠标拖动来缩放图表
2.AnimatedZoom : Boolean
拖动是否显示缩放过程
3.AxisVisible : Boolean
显示和隐藏4个子图表
4.BufferedDisplay :Boolean
True时图表首先画在内部画布上,可以防止图表闪烁,但耗费内存资源.
5.ChartHeight : LongInt
以像素为单位,运行为只读,显示图表顶轴与底轴的高度,不包含页边距,Height包含页边距,
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
6.
DepthAxis,
LeftAxis,RightAxis,TopAxis,BottomAxis
Tchart共分为五个子图表,
LeftAxis,RightAxis,TopAxis,BottomAxis和DepthAxis
默认情况下只显示LeftAxis和BottomAxis子图表
可以通过Series属性的子属性HorizAxis与VertAxis进行设置
如:
chart1.Series[0].HorizAxis := aBothHorizAxis;
chart1.Series[0].VertAxis := aBothVertAxis;
chart1.BottomAxis.Title.Caption := 'nsgtao';
chart1.BottomAxis.Title.Font.Color := clRed;
7.Foot : TChartTitle
在图表底部定义的文本和格式,在图表底部显示一些说明文字
Chart1.Foot.Text.Add('Nsgtao Foot');
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
8.Gradient : TChartGradient
用于设置图表背景颜色:是否显示背景色,背景色渐变的起始颜色和终止颜色,渐变方向等
以下是 南山古桃(nsgtao) 引用网上资源
引用1.关键词:Tchart分析报告
引用2.关键词:
TeeChart使用指南,TeeChart控件介绍
***********************************************************************************************************************************
****************下面是 南山古桃 引用 并整理的文章
***********************************************************************************************************************************
1 Tchart分析报告
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
1.1 [概述]
TChart是delphi里面一个标准的图形显示控件。它可以静态设计(at design time)也可以动态生成。
1.2 [继承关系]
TObject
TPersistent
TComponent
TControl
TCustomControl
TWedgetControl
TChart
TCustomPanel
1.3 [tips]
1.3.1 Pro Version支持Bezier , Contour , Radar 和 point3D 曲线
1.3.2 支持jpeg文件的导出
1.3.3 Chart中的Series 可以连接到Table , Query , RemoteDataset(其他数据集)
1.3.4 TChart里的series的active属性可以实现对已绘制图形的显示或者隐藏
1.3.5 在TChart中,
tchartSeries是所有具体series的父类,没有画出什么来的,用一个具体的series类来创建就可以了,比如用TLineSeries、
TPieSeries、 TPointSeries、 TPointSeries等等都行
1.3.6 TTeeFunction Component可以实现在同一个TChart里面,一个Serries对另一个Serries的统计
1.4 [问题极其使用技巧]
1.4.1 TChart中如何实现只有Y轴的放大与缩小功能?
设置BottomAxis或者LeftAxis的Automatic:=false并同时设置Minimum,Maximum属性
1.4.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;
1.4.3 如何删除一个图形中的一个点?
使用Series的delete 方法
1.4.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 ;
1.4.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 );
1.4.6 如何在chart中画出的曲线某个点上标记出该点的值?
Series.Marks.Visible:=true;
Series.Marks.Style:=smsValue;
1.4.7 如何设置横轴或者纵轴的增长率?
Chart.BottomAxis.Increment := DataTimeStep[ dtOneHour ] ;
Chart.RightAxis.Increment := 1000;
1.4.8 如何对图象进行缩放?
TChart的ZoomRect或者ZoomPercent方法 (Pie图可能不支持缩放)
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
1.5 [TChart可以绘制的图形]
1.5.1 Line ( TLineSeries)
1.5.2 FastLine (TFastLineSeries) 相对Line来说,它损耗了某些属性从而来实现快速绘制
1.5.3 Bar (TBarSeries)
1.5.4 Horizontal bar (THorizBarSeries)
1.5.5 Area (TAreaSeries)
1.5.6 Point (TPointSeries)
1.5.7 Pie (TPieSeries)
1.5.8 Arrow (TArrowSeries)
1.5.9 Bubble (TBubbleSeries)
1.5.10 Gantt (TGanttSeries)
1.5.11 Sharp (TChartShape)
1.6 [TChart的实时绘制]
实时绘制对机器性能要求比较高,因此我们在编程的时候要注意下面几个方面:
ü 使用2D图形
ü 是Chart尽可能包含少的点
ü 如果需要,可以移除(remove)chart的legend(?????)和Title
ü 使用默认的字体和字体大小
ü 使用FastLineSeries
ü 使用实体(solid)画笔和画刷格式
ü 尽量避免使用圆形和环行bar样式
ü 不要使用背景图片和渐变效果样式
ü 把Chart的BevelInner和BevelOUter属性设置为bcNone
ü 如果需要,把TChart的AxisVisible属性设置为False
ü 把BufferedDisplay设置为false可以加速chart的重绘
1.7 [Scrolling]
TChart有4中scroll选择(AllowPanning属性),分别是 不允许Scroll ( pmNone) ; 水平Scroll
(pmHorizontal) ; 垂直Scroll (pmVertical) ; 水平和垂直Scroll (pmBoth)
Procedure Scroll(Const Offset:Double; CheckLimits:Boolean);
例子如下:
Chart1.BottomAxis.Scroll( 1000, True );这段代码也等同于
With Chart1.BottomAxis do
Begin
Automatic:=false;
SetMinMax( Minimum+1000, Maximum+1000 );
End;
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
1.8 [TChart中的全局变量]
ü TeeScrollMouseButton := mbRight;设置鼠标右键为TChart滚动键(默认)
ü TeeScrollKeyShift := [ ssCtrl ]; 要按住Control键才可以使Scroll滚动
1.9 [TChartSerries使用技巧]
1.9.1 运行时候创建一个Serries, 三种方法:
1.Var MySeries : TBarSeries ;
MySeries := TBarSeries.Create( Self );
MySeries.ParentChart := Chart1 ;
2.Chart1.AddSeries( TBarSeries.Create( Self ) );
3.Var MyClass : TChartSeriesClass;
MyClass := TBarSeries ;
Chart1.AddSeries( MyClass.Create( Self ) );
1.9.2 获得TChart中的Serries数组,也有三种方法
1.MySeries := Chart1.SeriesList [ 0 ]
2.MySeries := Chart1.Series [ 0 ]
3.MySeries := Chart1 [ 0 ]
1.9.3 SerriesCount属性获得SeriesList中Series的个数
1.9.4 隐藏TChart中的Series有三种方法,但是效果不等价
1. Series1.Active:=False; 仅仅隐藏,当设置为true的时候还可以显示出来
2. Series1.ParentChart:=nil ; 隐藏,重新设置ParentChart为TChart时候可以显示
3. Series1.Free; 删除了Series. 不可以恢复
1.9.5 TChart中的数据排序
With Series1 do
begin
YValues.Order:=loAscending;
YValues.Sort;
Repaint;
end;
Ø 定位一个点(Loacate a point)
Series1.XValues.Locate(123);
Ø XValue和YValue都拥有的属性Total , TotalABS , MaxValue , MinValue
***********************************************************************************************************************************
****************下面是 南山古桃 引用 百度网友zwl232 的文章
***********************************************************************************************************************************
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
TeeChart使用指南
TeeChart控件介绍
TeeChart Pro ActiveX是西班牙Steema
SL公司开发的图表类控件,主要用来生成各种复杂的图表。熟悉Delphi和C++
Builder的编程人员对它不会陌生,因为在Delphi和C++ Builder里包括了TeeChart的VCL版本。
TeeChart使用目的
如果你需要在程序中制作曲线图、条状图、饼状图等等,使用这个控件都将是你的明智选择。它因为是已经被封装好的产品,所以使用方便,可控性强,不过有的时候会有点小BUG。最好能找到源码,并自己打几个补丁。
TeeChart名词解释
Series
Axis
Scales
Line
Bar
Pie
TeeChart配置说明
ChartSeries(序列) : 在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。
Add… 添加新的序列
Fast Line(TFastLineSeries简单曲线图)、
Line(TLineSeries 3D曲线图)、
Bar(TBarSeries竖条状图)、
Horiz. Bar(THorizBarSeries横条状图)
Area(TAreaSeries 区域图)、
Point(TPointSeries 点状图)、
Pie(TPieSeries 饼状图)、
Shape(TChartShape 实体图)、
Gantt(TGanttSeries 甘特图)、
Arrow(TArrowSeries 箭头图)、
Bubble(TBubbleSeries 泡泡图)
SeriesFormat:修改序列的格式
SeriesPoint:修改序列中点的样子
SeriesGeneral:对序列的配置,包括Axis,Legend,Formats,Cursor。
SeriesMarks:是否显示序列中每个点的值。
SeriesData Source:数据源。可以采用No Data,Random Values,Function。
Title… 修改序列的名称。
Change… 修改序列的类型,可以从Line改变成Bar或者Pie。
ChartGeneral:一些基本的参数设置。
Print Priview…:打印及打印预览
Export…:输出
Margins:页边空白
Allow Zoom:允许缩放
Animated Zoom:缩放过程是否是动态的,还是一次成功。(如果图的点太多时,可以打开这个功能)
Allow Scroll:滚动条
ChartAxis : 控制图表坐标轴(上、下、左、右、深)的属性
Show Axis:是否显示坐标轴
ChartAxisScales:调整坐标轴的比例
Automatic:可以自动处理最大与最小值,也可以手工设置。
Change…:可以自动处理增量,也可以手工设置。
Logarithmic:对数的
Inverted:反向的
ChartAxisTitle:设置坐标轴的标题
Title:标题
Angle:标题的角度
Size:标题的宽度
Font…:标题的字体
ChartAxisLabels:设置坐标轴的标签
Titles :
ChartLegend(图例):图表中的一个长方形的用来显示图例标注的区域。可以标注Series的名称或者Series中的项目和数值。
Visible
Back Color
Font
Frame
Position
Margin
Legend Style
Text Style
Resize Chart
Inverted
%Top Pos
%Color Width
Dividing Lines…
Shadow
ChartPanel (面板):Panel可以设置图表的背景。可以使用渐变的颜色或者图像文件作为整个图表的背景
Bevel Inner (Bevel Innner ) Width
Bevel Outer (Bevel Outer) Width
Back Image:图表的背景图
Style:(Stretch伸展, Tile瓦片, Center居中)
Inside:只显示在背后壁上
Panel Color:Panel的Inner的颜色
Border:给控件加边界
Gradient(梯度):梯度显示颜色
Visible、Start Color…、End Color…、
Direction(方向):上下、左右、从中间
ChartPaging :图表有几页组成
Points Per Page(每页显示几个点):0为所有的点显示在一页,其他按数字处理。
Scale Last Page:最后一页按比例显示,使之充满整个图表。
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
ChartWalls(壁)
Left Walls:Y轴的平面
Bottom Walls:X轴的平面
Back Walls:背后的平面
Pattern…(模式):=(Solid实心,None无,Horizontal竖条纹,Vertical横条纹,
Diagonal对角线,Back.Diagonal反向对角线,Cross十字线,DiagonalCross对角十字线);
Border…(边线):=(Solid实线, Dash划线, Dot点,
Dash Dot线点, Dash Dot Dot线点点, Small Dots小点)
Transparent (透明)
Chart3D
3Dimensions(维):是否3维显示
Orthogonal(直角的):3维显示为直角显示,则Elevation,Rotaion,Perspective被屏蔽
ZoomText:坐标数字与图形一起缩放
Zoom:图形的缩放
Rotaion(旋转):关闭Orthogonal后,可以在Y轴上旋转
Elevation(正视图) :关闭Orthogonal后,可以在X轴上旋
Horiz. Offset:在X轴移动图形
Vert. Offset:在Y轴移动图形
Perspective(透视) :关闭Orthogonal后,将焦点沿Z轴移动。
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
TeeChart使用实例
// AddPages
NewTabSheet := TTabSheet.Create(pgMain);
with NewTabSheet do
begin
Parent := pgMain;
PageControl := pgMain;
Tag := Ord(CountTypeIndex);
Caption := arrCountType[CountTypeIndex];
end;
// AddCharts
NewChart := TChart.Create(NewTabSheet);
with NewChart do
begin
Parent := NewTabSheet;
Title.Text.Add('网间结算' + arrCountType[CountTypeIndex] + '/天分布图');
LeftAxis.Title.Caption := arrCountType[CountTypeIndex];
BottomAxis.Title.Caption := '话单日期';
Legend.Visible := sbLegend.Down;
Legend.Alignment := laBottom;
Legend.LegendStyle := lsSeries;
View3D := sb3D.Down;
Width := NewTabSheet.Width;
Height := NewTabSheet.Height;
end;
// ClearSeries
AChart.Series[SeriesIndex].Free;
// AddSeries
NewSeries := TLineSeries.Create(AChart);
NewSeries.Title := ANameList.Strings[SeriesIndex];
NewSeries.Marks.Visible :=True;
AChart.AddSeries(NewSeries);
// AddNameForSeries
AChart.SeriesList[SeriesIndex].Title:= NewName;
// ShowSeries
AChart.Series[SeriesIndex].Active := True;
// EmptySeries
AChart.Series[SeriesIndex].Clear;
// FillSeries
AChart.Series[SeriesIndex].AddXY();
南山古桃(nsgtao)转自cooltown
内容如下 :
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
Series: TLineSeries;
begin
Series := TLineSeries.Create(Chart1);
Series.Add(100, 'aaa', clRed);
Series.Add(200, 'AAA', clGreen);
Chart1.AddSeries(Series);
end;
Chart1.Gradient.Direction := gdFromTopLeft;
Chart1.Gradient.StartColor := clGreen;
Chart1.Gradient.EndColor := clYellow;
(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ ****)
Chart: TChart;
S: TChartSeries;
TmpFile: string;
begin
Chart := TChart.Create(nil);
try
Chart.Parent := Application.MainForm;
Chart.Visible := False;
S.AddXY(1, 56, '一月', clGreen);
S.AddXY(2, 67, '二月', clYellow);
S.AddXY(3, 34, '三月', clBlue);
S.AddXY(4, 78, '四月', clRed);
Chart.BackColor := clWhite;
Chart.Gradient.StartColor := clWhite;
Chart.Gradient.EndColor := clWhite;
Chart.Gradient.Visible := True;
finally
Chart.Free;
end;
end;
发表评论
-
Delphi基本图像处理代码
2013-03-17 11:22 5059Delphi基本图像处理代码//浮雕procedure Emb ... -
删除cookies及上网历史记录(DELPHI代码完整版本)
2012-12-29 14:39 3344//前面要加几个pas单元 uses Registry, ... -
Delphi DateTime,Date,Time TDateTimePicker
2012-12-22 17:38 4870一、DateTime,Date,Time存 ... -
关于delphiwebbrowser二次点击来路问题
2012-12-08 15:56 2968webbrowser二次点击webb可以实现二次点击但是二次点 ... -
delphi返回一个汉字的Unicode编码
2012-11-30 16:00 1747//机内码 -> 汉字Function MacCode2 ... -
Delphi 从外部拖拽文件
2012-10-22 19:36 5259unit Unit1; interface u ... -
Delphi汉字简繁体转换代码
2012-07-02 15:53 2131unit ChineseCharactersConvert;i ... -
对当前焦点发送文字
2012-07-02 07:46 1354var clp: TClipboard;begin clp ... -
Delphi中destroy, free, freeAndNil, release用法和区别
2012-06-23 07:14 1500经过这段时间对delphi中free 和 release 的仔 ... -
解决delphi indy10下 utf8码转换的问题
2012-06-15 09:59 9285用delphi2010调试一个以前的程序,因为以前的程序是 ... -
Delphi EmbeddedWB组件遍历Frames并执行子frame的js
2012-06-14 18:13 2685var wDoc:IHTMLDocument2; ... -
(POS打印机LPT1口)卡密打印工具<by Only↗Me>介绍
2012-06-13 17:08 2328前两年写“(POS打印机LPT1口)卡密打印工具”,现在还有人 ... -
Delphi 判断一个字符串是否为数字
2012-06-13 16:32 7203//函 数 名: IsDigit //返 回 值: bool ... -
解决EmbeddedWB弹出页面错误框的问题
2012-06-07 13:34 1646使用EmbeddedWB控件的时候,发现有一些错误完全无法用t ... -
Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决
2012-06-07 13:29 2944最近用EmbeddedWB控件做浏览器相关应用的时候,发现有些 ... -
Delphi中Memo显示行号列号
2012-06-04 10:43 8750实例说明 本例是个光标应用的简单技巧,希望通过这个例子 ... -
delphi中URL的汉字编码
2012-05-07 08:20 2054show.asp?sort=全部&sortlevel= ... -
邮件(短信)天气预报MailWeather
2012-01-01 20:03 3628记不得啥时间了,移动推出了免费邮件短信提醒服务,使用我们这些穷 ... -
delphi中SendMessage使用说明
2011-11-28 16:49 31781SendMessage基础知识 函数 ...
相关推荐
Delphi7.0源码生成一个柱状图表chart,使用了ntdll.dll,这个直方图表效果如图所示。使用了第三方控件实现的图表制作生成软件,功能比较强大。以下是图表测试源代码: Chart := TChart.Create(nil); try Chart...
delphi编写的一个画流程图的工具,目前最新版本是2.90.这是个带全部源码的可视化Delphi控件,可以很方便地添加很多另外的图元。
delphi7系列优秀控件-TMS 很经典的一套控件,早期常用控件之一
chart图形控件的使用
delphi 饼图程序例,是我多年的总结,很有参考价值
FusionCharts for Delphi(Korp Chart),delphi图形控件,集成flash FusionCharts组件,很不错的delphi控件。
devexpress控件chart使用,实现柱状图与曲线图联合展示,源码分享,可直接运行。
Chart默认的坐标轴交点在左下角,可通过设置属性设置坐标轴交点位置,使得交点在图表中间
Delphi生成Chart柱状图表控件附效果演示
Delphi的程序有时需要Teechart控件,我这里就有了,请使用
工作流控件,可以使用,Devexpress.FlowChart.V1.3.2版本
TeeChar8.0,生成各种统计图,已经足够使用,需要先将自带的chart卸载再安装
Steema_TeeChart_Pro_VCL_FMX_2018.24_for_D10.2_Tokyo_Downloadly.ir.rar
在delphi7上完美运行,这个控件确实强大股票K线macd都可以轻松画出来
如果有背景图片,放上tchart ,是覆盖背景的,包中代码实现了透明背景。
Delphi的VCL图表控件,功能还是很强大的,可正常使用。支持各种柱状图,折线图,面积图等等等等,绘图还是比较方便的。我的项目中正常使用。
在delphi中用TChart 做了一个例子,封装了单元,做软件用到TChart 时,复制一下这个代码就行了,非常方便好用。网上TChart 的说明比较少,有了这个,就不用怕了!!
FastReport编译时可用该TeeChart图表控件代替Delphi原版TeeChart 源码版,亲测可用。
使用过CVI的人都知道,CVI中有两种波图控件:Graph和StripChart。 其中StripChart是专门用来显示实时波形的,其波形可以连续滚动显示,但缺点是波图中最多只能承载10K个采样点,超过的部分将从控件左端滚动出去。而...
介绍Delphi中Chart和TeeChart的常用属性、方法,附有使用实例。