TeeChart For VCL/FMX V2017使用教程:第一章-准备开始
下一页
第一章 准备开始-构建图表和填充数据序列
1.1 简介
通过代码或Dataset(数据集)访问来构建Charts(图表)和填充Data Series(数据序列)
基本Charts(图表)可以使用Chart Editor(图表编辑器)进行构建和实现,而很少或根本不使用代码。
Chart Editor(图表编辑器)在一个里面是两个编辑器,因为Chart(图表)可能被认为与它的数据Series(序列)内容不同。
您可以定义图表外观、标题、Legend(图例)特性和3D外形,而不需要包含数据序列。这样就可以在运行时添加和删除不同的数据序列类型,而不必重新定义整个图表的外观和感觉。
Series-序列;Axes-坐标轴;Chart-图表 |
所有的东西都在一起构成最终的图表,坐标轴是图表和序列之间的接口。
一个序列有数据,它的值将影响坐标轴的标签特征。
在添加数据序列之前,可以为图表定义轴的外观、颜色、网格频率和标签字体。
TeeChart将对大多数值进行最佳估计,以最大限度地减少您手动定义图表和序列属性的需求。
使用图表编辑器添加多个序列类型。
TeeChart的“图表不同序列”设计范式,允许您混合多种类型的序列类型,而不受限于预定义的图表格式。
互联网! 对于这一领域的应用,我们已经具备了将表保存为PEG、PNG、GIF格式的特点,或者是保存为低带宽的TeeChart“tee”模板。
本教程中的步骤强调了从头开始构建图表是多么容易,并将向您介绍图表编辑器,以使您能够通过以后的教程来修改和进一步增强图表的外观和功能。好的图表! !
1.2 窗体上包含一个TeeChart
通过遵循关于TeeChart的安装说明,您能够成功地将TeeChart Pro图标添加到Delphi组件面板中。
如果你的Delphi的版本已经包含了这个版本的标准版本,那么在你打开Delphi的时候,你就不会看到任何直接的差别。
你可以通过在窗体上添加一个TeeChart来检查这个TeeChart Pro是否正确安装。然后,使用Add Series按钮检查画廊(Gallery)为你提供的扩展序列类型(Extended Series Types)。
这个TeeChart的图标表示为一个圆形的饼状图(Pie)。
您将在Delphi组件面板的TeeChart部分中找到一个TChart组件。
此外,TeeChart Pro还会安装以下3个图表图标:
在 TeeChart部分的TDBChart | 在TSeriesDataSet和TChartDataSet |
TDBChart使用BorlandDatabase Engine(BDE).
如果您编码Chart数据要使用TChart
对于其他TeeChart已安装组件的列表,看这个链接:非Chart组件
选择这四个图标的第一个图标,然后单击并拖拽到一个窗体上的TChart。
您将会看到TChart为一个带有一些基本图表特征的面板,例如Axis(坐标轴)和Title(标题)。
这个TeeChart是由一个Delphi TPanel衍生出来的,你可以使用图表编辑器来删除现存的可视功能,你将会留下一个完美的3D面板,里面有Border(边框)和Bevel(斜面)的属性!我们希望你会想用它来做更多的事情!
在新的Tchart上点击右键,你就会看到一个菜单。
选择Edit Chart...(编辑图表…)选择访问图表编辑器。(在图表上双击鼠标可以达到同样的目的)。
1.3 图表编辑器
Chart Editor(图表编辑器)允许您访问大多数常用的图表属性。
要添加一个新Series(序列),鼠标点击Add..(添加)按钮,并从Series Gallery(序列画廊)中选择序列类型。如果在选择了一个序列类型之后,您希望稍后更改它,那么您可以通过返回到第一个编辑器屏幕并选择Change..(更改)按钮来实现(在一些情况下,该序列数据内容可能是不兼容的)。
1.4 图表序列画廊
该Gallery(画廊)由8个序列选项卡页面和3个函数选项卡组成。
1.4.1 Series(序列)
(1) StandardSeries(标准序列)
标准序列类型13个: 那些很可能被频繁调用的,例如:Line(线)、Bar(棒形图)、Horizontal Bar(横棒图)、Area(面积)、Point(点)、Pie(饼图)、FastLine(快速折线图)、Horizontal Line(水平线)Horizontal Area(水平面积)、Shape(形状)、Gantt(甘特图/横道图)、Bubble(泡泡图)、Double Horiz. Bar(双横棒图)等等。
(2) ExtendedSeries(扩展序列)
扩展序列11个:包括更多用于企划或绘图应用程序的专业序列,例如:Arrow(箭头)、Polar(极坐标)、Radar(雷达)、Polar Bar(极坐标柱状图)、Bezier(贝塞尔曲线)、Donut(圆环图)、Smith(史密斯圆)、Pyramid(棱锥)、Maqp(地图)、Org Charts(组织图)、TreeMap(树映射)等等。
(3) FinancialSeries(金融序列)
金融序列7个:包括通常用于金融应用的图表类型,如Point&Figure(点数图)、Candle(蜡烛图)、Volume(容量图)、Darvas(达瓦斯图)、Renko(砖形图)、Kagi(卡吉图)、EquiVolume(等成交量图)等。
(4) Statistical Series(统计序列)
统计序列13个:包括统计应用程序的图表序列类型,如ErrorBar(误差棒)、Error(误差图)、High-Low(高低图)、Histogram(直方图)、Horizontal Histogram(水平直方图)、BoxPlot(箱形图)、Horizontal BoxPlot(水平箱形图)、VolumePipe(容量管道图)、Funnel(漏斗图)HighLow Line(高低线)、Ternary(三元图)、Error Point(误差点)、Error Point3D(误差点三维图)等。
(5) 3D Series(3D序列)
3D序列包括12个:提供三维立体表示的序列,如:Surface(曲面)、Contour(等高线)、Water Fall(瀑布)、Color Grid(颜色网格)、Vector 3D(向量3D)、Tower(塔)、Iso-Surface(等值面图)、PolarGrid(极坐标网格)、Point 3D(3D点)、Bubble3D(3D泡泡)、Triangle Surf.(三角形曲面)、Polar Contour(极坐标轮廓)等。
(6) Guage Series(仪表盘序列)
该序列提供了各种各样的仪表盘共9个,例如Gauge(仪表)、Numeric Gauge(数字仪表)、Linear Gauge(光学尺)、Vertical Gauge(垂直尺)、Circular Gauge(圆形仪表)、Clock(钟表)、KnobGauge(旋钮规图) 、Activity Gauge(活动计)、Equalizer Series(均衡器系列)等。
(7) Other Series(其它序列)
如果你还没有找到你想要的图表类型,你很可能会在这里找到它,共有9个。比如Bubble Cloud(泡泡云)、Line Point(点线图)、Bar Join(棒连接)、Bar 3D(3D棒)、Big Candle(大蜡烛)、ImageBar(图像棒)、ImagePoint(图像点)、DeltaPoint(三角点)、Wind Rose(风向玫瑰图)、Rose(玫瑰图)、Calendar(日历)、Tag Cloud(标记云图)等。
(8) Map Series(地图序列)
地图序包括各种地理学图表共25个,比如World(世界)、Africa(非洲)、Asia(亚洲)、Australia(澳大利亚)、Central America(中美洲)、Europe(欧洲)、Europe 15、Europe 28、MiddleEast(中东)、North America(北美)、SouthAmerica(南美)、USA(美国)、USA Alaska(美国阿拉斯加)、USA Counties(美国的县)、USA Alaska Counties(美国阿拉斯加的县)、EurAsia(欧亚大陆)、UK(英国)、Germany(德国)、Spain(西班牙)、Japan(日本)、China(中国)、France(法国)、China Provinces(中国省级行政区)、Australia States(澳大利亚各州)、Australia Counties(澳大利亚各县)等。
1.4.2 Functions(函数)
(1) Standard(标准)
常用的标准函数共12个,如Add(加)、Average(平均数)、Count(计数)、Divide(除)、High(最大数)、Low(最小数)、Median(中位数)、Mode(众数)、Multiply(乘法)、Pareto(帕累托)、Subset(子集)、Subtract(减法)、y=f(x)(自定义函数)等。
(2) Financial(金融)
金融函数通常用于金融应用程序。例如,MACD,随机指标,布林带,等等。
(3) Extended(扩展)
扩展函数提供了各种函数,如Statistical(统计)应用程序、Standard Deviation(标准偏差)、Root Mean Average(均方根平均值)、Exponential Trend(指数趋势)等。
选择一序列类型。对于这个练习,我们将选择一个Bar(棒)序列类型。Gallery(画廊)将会关闭,新的序列将会在第一个图表编辑器的屏幕上显示出来。
1.5 填充新数据序列
在图表编辑器中选择序列(Series)选项卡,以显示序列配置属性。该序列页面的第四个选项卡是数据源选项卡。
1.5.1 Tchart编码数据输入
对于编程的数据输入,您需要编写一些代码。如果您正在编码数据输入,应使用TChart而不是TDBChart,以避免使用Borland Database Engine(BDE)。本节将向您展示用编码输入构建图表所需的步骤。
您之前在图表编辑器中添加的序列,在设计时显示了随机数据。但是,在运行时,除非手动填充数据,否则该序列将是空的。从组件面板中选择一个命令按钮,并将其放在您的窗体。双击该按钮以访问代码编辑器。在代码编辑器中,键入这些行:
With Series1 do begin Add (3, 'Pears', clRed); Add (4, 'Apples', clBlue); Add (2, 'Oranges', clGreen); end; |
运行项目并按下命令按钮。你的图表上会出现三个新的棒形图。就是这样!! 没有更多的东西了。
该序列的Add方法接受3个变量,值、标签和颜色。因此,Add方法假设在标签轴上的值是相等的(在本例中是X轴)。如果您的数据包含两个变量,那么您可以使用AddXY方法。在您的项目中添加另一个命令按钮,并将该代码放入其中。运行项目并添加随机点使用以下代码:
With Series1 do begin if Count > 0 Then //增加X轴的值并添加一个新的随机点 AddXY (XValues.Last+(Round(100)), (YValues.Last/YValues.Last-1)+(Round(100)), '', clBlue) else //添加一个新的随机点 AddXY (1, (Round(100)), '', clBlue); end; |
1.6 选择一个满足您的数据需求的序列类型
最后一个编码的示例生成了新的X和Y值。点之间的X轴距离可能不是常数,这取决于所使用的值,在某些情况下,这可能会导致的bar(棒)重叠。这对于某些人来说是可取的,但不是所有的应用程序。使用图表编辑器来更改序列类型(在设计时输入图表编辑器,并使用第一个页面上的Change(改变)按钮)为LineSeries,展示了用两个变量表示数据的另一种方法。
1.7 用TDBChart访问数据源
如果您的数据来自Delphi TDataset、TTable、TQuery或TClientDataset,那么您可以直接在图表编辑器中映射您的数据。
将这些组件中的任何一个放在您的窗体上。
TDBChart不需要一个数据源组件来访问这些TDataset组件中的一个。
从Data Source(数据源)页面上的下拉列表框中选择数据源。
数据源特征字段将在页面上**。
选择Dataset(数据集):Listbox(列表框)为这个序列添加一个新的数据源。
您可以从datasource下拉组合框中选择一个已存在的数据源(TTable、TQuery等)。
当您选择了数据源时,TeeChart将用在数据集中找到的数据自动填充图表。
根据上面的表格显示哪些类型的值需要哪些值,您可以将数据集的列添加到“Labels(标签)”、X和Y字段中。
如果您的数据只有Labels(标签)和Y值(X值是索引1、2、3等等),那么您只需要填充“Labels(标签)”和“Y”值。
数据集数据将在设计时显示,当您运行应用程序时,数据将在运行时自动填充图表。
1.8 非图表组件
TeeChart Pro包含了几个非图表组件,这些组件可以用来增强图表应用程序的功能或外观。您可以在组件面板的TeeChart部分找到这些组件
从下面的列表中选择一个按钮来查看帮助文件描述: