TeeChart Pro VCL/FMX教程(六):使用系列(一)

下载TeeChart Pro VCL/FMX最新版本

系列类型

    该TChartSeries组件是所有系列类型的共同父类

系列类结构

    作为TeeChart组件库结构的一小部分背景,下面是系列组件及其结构的说明。下图显示了TeeChart系列类之间的关系。所有类都派生自通用的“TChartSeries”类,因此共享“Series”属性和方法。其他几个通用类派生自Series(CustomSeries,CustomBarSeries和CircledSeries),它们以绿色突出显示,并且它们的组件不能直接用于编程,它们的特性由其后代Series类型继承。所有派生系列(红色)均可在TeeChart图库中访问,以包含在您的图表中。以这种方式派生的TeeChart系列允许通过公共索引结构(集合)进行可编程访问。

Teechart

TeeChart Pro的内部Series Class层次结构

    在设计时使用TChart编辑器更容易添加Series,但您也可以在运行时创建新的和不同的Series类型并将其添加到同一个Chart中。

//You could add the Series at runtime
procedure TForm1.Button2Click(Sender: TObject);
var tmpAreaSeries:TAreaSeries;
begin
  tmpAreaSeries:=TAreaSeries.Create(self);

  With tmpAreaSeries do
  begin
    ParentChart:=Chart1;
    FillSampleValues(10);
  end;
end;

对于在设计时创建的任何系列,新系列都可以使用所有AreaSeries属性和方法。

选择系列类型

    为图表选择系列类型很大程度上取决于您对图表的要求。但是,有时候Chart的选择取决于哪种Series类型支持输入变量的数量,因为要绘制的变量数量很多。下表显示了某些不同Series类型允许的变量数。为简洁起见,我们未提供TeeChart提供的所有可能的系列类型。

Series Type

No. of variables

Datasource Properties

Standard



Line

2

XValues, YValues, XLabel

Bar

2

XValues, YValues (called Bar), XLabel

HorizBar

2

XValues, YValues (called Bar), XLabel

Area

2

XValues, YValues, XLabel

Point

2

Xvalues, YValues, XLabel

Pie

1

PieValues, XLabel

Fast Line

2

XValues, YValues, XLabel

Horiz. Line

2

XValues, YValues, YLabel

Horiz. Area

2

XValues, YValues, XLabel

Shape

4

X0 (Top), Y0 (Bottom), X1 (Left), Y1 (Right)

Bubble

3

Xvalues, YValues, XLabel, RadiusValues

Gantt

3

StartValues, EndValues, AY (Y axis level), AXLabel (Label optionally shown on Y-axis or as mark)

Extended



Arrow

4

StartXValues, StartYValues, XLabel, EndXValues, EndYValues

Polar

2

XValues, YValues, Labels (Polar has Angle and Radius)

Radar

2

XValues, YValues, Labels (Radar has Angle and Radius)

Bezier

2

XValues, YValues, XLabel

Donut

2

Angle, YValue, Labels

Smith

2

Resistance, Reactance, Labels

Pyramid

3

XValues, YValues, XLabel, ErrorValues

Financial



Candle

5

OpenValues, CloseValues, HighValues, LowValues, DateValues

Point & Figure

5

OpenValues, CloseValues, HighValues, LowValues, DateValues

Volume

2

XValues, YValues (VolumeValues), XLabel

Stats



Histogram

2

Xvalues, YValues, XLabel

Error Bar

3

XValues, YValues, XLabel, StdErrorValues

Error

3

XValues, YValues, XLabel, StdErrorValues

High-Low

3

XValues, YValues, XLabel, LowValues

Box Plot

3

XValues, SamplesValues, Label

Horizontal Box Plot

3

XValues, SamplesValues, Label

Funnel

3

XValues, QuoteValues, OpportunityValues, XLabel

3D



Surface

3

Xvalues, YValues, ZValues

Contour

3

XValues, YValues, ZValues, XLabel

Waterfall

3

Xvalues, YValues, ZValues

ColorGrid

3

XValues, YValues, ZValues

Tower

3

XValues, YValues, XLabel, ZValues

Point3D

3

XValues, YValues, XLabel, ZValues

Triangle Surf.

3

Xvalues, YValues, ZValues

Other



Clock

2

Angle, YValues, Labels

Line Point

2

XValues, YValues, XLabel

Bar Join

2

Xvalues, YValues, XLabel

Bar3D

3

XValues, YValues, YStartPoint, XLabel

WindRose

2

Angle, YValues, Labels

Calendar

2

XValues, YValues, Labels

Gauges



Gauge

1

Value

    标签可用于扩展2变量Series Type的值。请参阅下面的示例,该示例在同一图表中使用3个Bar Series类型的实例。

    使用Bar系列类型

Teechart

    在最简单的形式中,数据生成以下图表,按月对信息进行分组:

Teechart

    或(按产品分组):

Teechart

    我们在上表(Stock)中添加了新值。

Teechart

    库存的价值通常高于月产量,因此显示它们会给出下面的图表(这次是2D)。图表使用线系列来区分股票。

Teechart

将数据添加到系列

    大多数系列类型(ODBC数据源教程8和函数教程7除外)使用Add和ADDXY方法添加数据。有一些例外,请参阅下表,了解它们如何区别的示例:

Series TypeAdd Series pointsDelete Series points



Standard Series types

LineSeries.Add
Series.AddXY
Series.AddNull
Series.AddNullXY
Series.Delete
Series.Clear
Horiz LineSeries.Add
Series.AddXY
Series.AddNull
Series.AddNullXY
Series.Delete
Series.Clear
Fast LineSeries.Add
Series.AddXY
Series.AddNull
Series.AddNullXY
Series.Delete
Series.Clear
BarSeries.Add
Series.AddXY
Series.AddNull
Series.AddNullXY
Series.Delete
Series.Clear
HorizBarSeries.Add
Series.AddXY
Series.AddNull
Series.AddNullXY
Series.Delete
Series.Clear
AreaSeries.Add
Series.AddXY
Series.AddNull
Series.AddNullXY
Series.Delete
Series.Clear
PointSeries.Add
Series.AddXY
Series.AddNull
Series.AddNullXY
Series.Delete
Series.Clear
PieSeries.Add
Series.AddNull
Series.Delete
Series.Clear
ArrowArrowSeries.AddArrow
Series.AddNull
Series.AddNullXY
Series.Delete
Series.Clear
BubbleBubbleSeries.AddBubble
Series.AddNull
Series.AddNullXY
Series.Delete
Series.Clear
GanttGanttSeries.AddGantt
GanttSeries.AddGanttColor
Series.Delete
Series.Clear
ShapeShapeSeries.X0,
ShapeSeries.Y0,
ShapeSeries.X1,
ShapeSeries.Y1
TChart.RemoveSeries (TCustomAxisPanel)
(Each Shape is a unique Series)
颜色

    添加点时,可以手动为点添加颜色

Series1.Add(46, 'My first value', clYellow);

    或者使用TeeChart常量clTeeColor,告诉TeeChart分配颜色。TeeChart将为每个新系列选择最多16种独特且尚未使用的颜色中的一种。

Series1.Add(46, 'My first value', clTeeColor);

从系列中删除数据点

    使用Series.Delete从Series中删除一个点。

Series1.Add(46, 'My first value', clTeeColor);

    Series.Clear清除系列中的所有点。

将Null点添加到系列

    有关支持AddNull方法的系列类型列表,请参阅向系列添加数据表。顾名思义,AddNull将为系列添加一个Null点,允许您为该点定义一个标签,但在该点处系列中断。在线系列的情况下,休息前的最后一个点不会在休息后加入到第一个点。见Series.AddNull。

Series1.Delete(7); //(8th point - Points index start at zero)

    Series.Clear清除系列中的所有点。

将Null点添加到系列

    有关支持AddNull方法的系列类型列表,请参阅向系列添加数据表。顾名思义,AddNull将为系列添加一个Null点,允许您为该点定义一个标签,但在该点处系列中断。在线系列的情况下,休息前的最后一个点不会在休息后加入到第一个点。见Series.AddNull。

Series1.AddNull('my null value');

    未完待续...


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章