Tchart 控件使用.docx
- 文档编号:8788257
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:23
- 大小:48.58KB
Tchart 控件使用.docx
《Tchart 控件使用.docx》由会员分享,可在线阅读,更多相关《Tchart 控件使用.docx(23页珍藏版)》请在冰豆网上搜索。
Tchart控件使用
dDelphiTchart控件使用!
(转帖)收藏
这样就会生成一个简单的折线图表,要生成其它类型的数据图表,可以添加不同的数据序列(各种图表的序列类型可以参考帮助文档)。
2.如何设置图表的标题?
TChart组件提供了Title属性可以这是图表的标题,包括标题的内容、字体、对齐方式等都可以通过Title属性设置。
最简单的设置方式:
Chart1.Title.Text.Text:
='图表的标题';
3.如何修改图表的背景颜色和整个图表的颜色?
TChart是一个窗体控件,可以通过修改Color属性设置图表颜色,这是一种最简单的方式:
Chart1.Color:
=clWhite;
修改图表部分的背景色可以通过BackColor属性来实现:
Chart1.BackColor:
=clGreen;
此外,TChart还提供了渐变的背景支持,通过Gradient控制:
Chart1.Gradient.Visible:
=True;
Chart1.Gradient.Direction:
=gdFromTopLeft;
Chart1.Gradient.StartColor:
=clGreen;
Chart1.Gradient.EndColor:
=clYellow;
4.TChart的3D效果如何控制?
TChart提供了View3D属性,控制是否使用3D效果,View3dWalls属性控制是否显示左侧的3D墙效果
5.如何不显示图表控件生成图表?
很遗憾,TChart是一个Windows窗体控件,必须依附一个窗体或Windows控件才能使用。
如果要不显示TChart的话,可以将TChart的Visible属性设为False来使用。
下面的例子创建了一个隐藏的TChart来生成图表:
var
Chart:
TChart;
S:
TChartSeries;
TmpFile:
string;
begin
Chart:
=TChart.Create(nil);
try
Chart.Parent:
=Application.MainForm;
Chart.Visible:
=False;
Chart.Title.Text.Text:
='测试图表';
S:
=TBarSeries.Create(Chart);
Chart.AddSeries(S);
S.Title:
='嘿嘿';
S.AddXY(1,56,'一月',clGreen);
S.AddXY(2,67,'二月',clYellow);
S.AddXY(3,34,'三月',clBlue);
S.AddXY(4,78,'四月',clRed);
Chart.View3D:
=False;
Chart.BackColor:
=clWhite;
Chart.Gradient.StartColor:
=clWhite;
Chart.Gradient.EndColor:
=clWhite;
Chart.Gradient.Visible:
=True;
TmpFile:
=Application.ExeName+'.bmp';
Chart.SaveToBitmapFile(TmpFile);
Image1.Picture.LoadFromFile(TmpFile);
finally
Chart.Free;
end;
end;
分析报告1.1[概述]TChart是delphi里面一个标准的图形显示控件。
它可以静态设计(atdesigntime)也可以动态生成。
1.2[继承关系]Tobject
TPersistent
TComponent
TControl
TCustomControl
TWedgetControl
TChart
TCustomPanel
1.3[tips]1.3.1ProVersion支持Bezier,Contour,Radar和point3D曲线1.3.2支持jpeg文件的导出1.3.3Chart中的Series可以连接到Table,Query,RemoteDataset(其他数据集)1.3.4TChart里的series的active属性可以实现对已绘制图形的显示或者隐藏1.3.5在TChart中,tchartSeries是所有具体series的父类,没有画出什么来的,用一个具体的series类来创建就可以了,比如用TLineSeries、TPieSeries、TPointSeries、TPointSeries等等都行1.3.6TTeeFunctionComponent可以实现在同一个TChart里面,一个Serries对另一个Serries的统计
1.4[问题极其使用技巧]1.4.1TChart中如何实现只有Y轴的放大与缩小功能?
设置BottomAxis或者LeftAxis的Automatic:
=false并同时设置Minimum,Maximum属性
1.4.2如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化?
//设置底座标
withmyChart.BottomAxisdo
begin
Automatic:
=false;
Minimum:
=0;
LabelStyle:
=talText;
end;
//设置左坐标
withmyChart.LeftAxisdo
begin
Automatic:
=false;
Minimum:
=0;
Title.Angle:
=270;
Title.Font:
=Self.Font;
Title.Font.Charset:
=ANSI_CHARSET;
Title.Font.Name:
='@宋体';
Grid.Visible:
=False;
end;
//设置右坐标
withmyChart.RightAxisdo
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;
{InBubbleSeries}
BubbleSeries1.RadiusValues.Value[8]:
=8.1;
{InPieSeries}
PieSeries1.PieValues.Value[3]:
=111;
1.4.5如果横坐标是时间(日期),如何进行设置?
{First,youneedtosettheDateTimepropertytoTrueinthedesiredXand/orYvalueslist.}
LineSeries1.XValues.DateTime:
=True;
{Second,usethesameabovedescribedmethods,butgivethevaluesasDate,TimeorDateTimevalues}
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图可能不支持缩放)
1.5[TChart可以绘制的图形]1.5.1Line(TLineSeries)
1.5.2FastLine(TFastLineSeries)相对Line来说,它损耗了某些属性从而来实现快速绘制1.5.3Bar(TBarSeries)
1.5.4Horizontalbar(THorizBarSeries)
1.5.5Area(TAreaSeries)
1.5.6Point(TPointSeries)
1.5.7Pie(TPieSeries)
1.5.8Arrow(TArrowSeries)
1.5.9Bubble(TBubbleSeries)
1.5.10Gantt(TGanttSeries)
1.5.11Sharp(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)
ProcedureScroll(ConstOffset:
Double;CheckLimits:
Boolean);
例子如下:
Chart1.BottomAxis.Scroll(1000,True);这段代码也等同于
WithChart1.BottomAxisdo
Begin
Automatic:
=false;
SetMinMax(Minimum+1000,Maximum+1000);
End;
1.8[TChart中的全局变量]üTeeScrollMouseButton:
=mbRight;设置鼠标右键为TChart滚动键(默认)
üTeeScrollKeyShift:
=[ssCtrl];要按住Control键才可以使Scroll滚动
1.9[TChartSerries使用技巧]
1.9.1运行时候创建一个Serries,三种方法:
1.VarMySeries:
TBarSeries;
MySeries:
=TBarSeries.Create(Self);
MySeries.ParentChart:
=Chart1;
2.Chart1.AddSeries(TBarSeries.Create(Self));
3.VarMyClass:
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.3SerriesCount属性获得SeriesList中Series的个数1.9.4隐藏TChart中的Series有三种方法,但是效果不等价1.Series1.Active:
=False;仅仅隐藏,当设置为true的时候还可以显示出来
2.Series1.ParentChart:
=nil;隐藏,重新设置ParentChart为TChart时候可以显示
3.Series1.Free;删除了Series.不可以恢复
1.9.5TChart中的数据排序WithSeries1do
begin
YValues.Order:
=loAscending;
YValues.Sort;
Repaint;
end;
Ø定位一个点(Loacateapoint)
Series1.XValues.Locate(123);
ØXValue和YValue都拥有的属性Total,TotalABS,MaxValue,MinValue
Delphi中Chart组件,Chart控件用法-南山古桃-关键词:
Delphi,Chart,TeeChart,属性,用法-原创+引用
2011年02月26日星期六11:
31
转载自nsgtao
最终编辑nsgtao
关键词:
Delphi,Chart,TeeChart,属性,用法--南山古桃原创--更新中(鉴于引用中较为详细,此后不再更新,20071129定稿)
(****转载敬请注明-本文出处:
南山古桃(nsgtao)的XX空间:
****)
南山古桃(nsgtao)正在做个需要绘制实时曲线的程序,在网上找Chart资料没找到,只好自己摸索了……
本文主要讲解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)的XX空间:
****)
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('NsgtaoFoot');
(****转载敬请注明-本文出处:
南山古桃(nsgtao)的XX空间:
****)
8.Gradient:
TChartGradient
用于设置图表背景颜色:
是否显示背景色,背景色渐变的起始颜色和终止颜色,渐变方向等
以下是南山古桃(nsgtao)引用网上资源
引用1.关键词:
Tchart分析报告
引用2.关键词:
TeeChart使用指南,TeeChart控件介绍
***********************************************************************************************************************************
****************下面是南山古桃引用并整理的文章
***********************************************************************************************************************************
1Tchart分析报告
(****转载敬请注明-本文出处:
南山古桃(nsgtao)的XX空间:
****)
1.1[概述]
TChart是delphi里面一个标准的图形显示控件。
它可以静态设计(atdesigntime)也可以动态生成。
1.2[继承关系]
TObject
TPersistent
TComponent
TControl
TCustomControl
TWedgetControl
TChart
TCustomPanel
1.3[tips]
1.3.1ProVersion支持Bezier,Contour,Radar和point3D曲线
1.3.2支持jpeg文件的导出
1.3.3Chart中的Series可以连接到Table,Query,RemoteDataset(其他数据集)
1.3.4TChart里的series的active属性可以实现对已绘制图形的显示或者隐藏
1.3.5在TChart中,tchartSeries是所有具体series的父类,没有画出什么来的,用一个具体的series类来创建就可以了,比如用TLineSeries、TPieSeries、TPointSeries、TPointSeries等等都行
1.3.6TTeeFunctionComponent可以实现在同一个TChart里面,一个Serries对另一个Serries的统计
1.4[问题极其使用技巧]
1.4.1TChart中如何实现只有Y轴的放大与缩小功能?
设置BottomAxis或者LeftAxis的Automatic:
=false并同时设置Minimum,Maximum属性
1.4.2如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化?
//设置底座标
withmyChart.BottomAxisdo
begin
Automatic:
=false;
Minimum:
=0;
LabelStyle:
=talText;
end;
//设置左坐标
withmyChart.LeftAxisdo
begin
Automatic:
=false;
Minimum:
=0;
Title.Angle:
=270;
Title.Font:
=Self.Font;
Title.Font.Charset:
=ANSI_CHARSET;
Title.Font.Name:
='@宋体';
Grid.Visible:
=False;
end;
//设置右坐标
withmyChart.RightAxisdo
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;
{InBubbleSeries}
BubbleSeries1.RadiusValues.Value[8]:
=8.1;
{InPieSeries}
PieSeries1.PieValues.Value[3]:
=111;
1.4.5如果横坐标是时间(日期),如何进行设置?
{First,youneedtosettheDateTimepropertytoTrueinthedesiredXand/orYvalueslist.}
LineSeries1.XValues.DateTime:
=True;
{Second,usethesameabovedescribedmethods,butgivethevaluesasDate,TimeorDateTimevalues}
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)的XX空间:
****)
1.5[TChart可以绘制的图形]
1.5.1Line(TLineSeries)
1.5.2FastLine(TFastLineSeries)相对Line来说,它损耗了某些属性从而来实现快速绘制
1.5.3Bar(TBarSeries)
1.5.4Horizontalbar(THorizBarSeries)
1.5.5Area(TAreaSer
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Tchart 控件使用 控件 使用
![提示](https://static.bdocx.com/images/bang_tan.gif)