TeeChart Pro VCL/FMX教程(六):使用系列(一)
已加入在線訂購,現(xiàn)在搶購可立享特別優(yōu)惠?。。?/a>
系列類型
該TChartSeries組件是所有系列類型的共同父類
系列類結構
作為TeeChart組件庫結構的一小部分背景,下面是系列組件及其結構的說明。下圖顯示了TeeChart系列類之間的關系。所有類都派生自通用的“TChartSeries”類,因此共享“Series”屬性和方法。其他幾個通用類派生自Series(CustomSeries,CustomBarSeries和CircledSeries),它們以綠色突出顯示,并且它們的組件不能直接用于編程,它們的特性由其后代Series類型繼承。所有派生系列(紅色)均可在TeeChart圖庫中訪問,以包含在您的圖表中。以這種方式派生的TeeChart系列允許通過公共索引結構(集合)進行可編程訪問。
TeeChart Pro的內部Series Class層次結構
在設計時使用TChart編輯器更容易添加Series,但您也可以在運行時創(chuàng)建新的和不同的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;
對于在設計時創(chuàng)建的任何系列,新系列都可以使用所有AreaSeries屬性和方法。
選擇系列類型
為圖表選擇系列類型很大程度上取決于您對圖表的要求。但是,有時候Chart的選擇取決于哪種Series類型支持輸入變量的數(shù)量,因為要繪制的變量數(shù)量很多。下表顯示了某些不同Series類型允許的變量數(shù)。為簡潔起見,我們未提供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 | ||
1 | Value |
標簽可用于擴展2變量Series Type的值。請參閱下面的示例,該示例在同一圖表中使用3個Bar Series類型的實例。
使用Bar系列類型
在最簡單的形式中,數(shù)據(jù)生成以下圖表,按月對信息進行分組:
或(按產(chǎn)品分組):
我們在上表(Stock)中添加了新值。
庫存的價值通常高于月產(chǎn)量,因此顯示它們會給出下面的圖表(這次是2D)。圖表使用線系列來區(qū)分股票。
將數(shù)據(jù)添加到系列
大多數(shù)系列類型(ODBC數(shù)據(jù)源教程8和函數(shù)教程7除外)使用Add和ADDXY方法添加數(shù)據(jù)。有一些例外,請參閱下表,了解它們如何區(qū)別的示例:
Series Type | Add Series points | Delete Series points |
Standard Series types | ||
Line | Series.Add Series.AddXY Series.AddNull Series.AddNullXY | Series.Delete Series.Clear |
Horiz Line | Series.Add Series.AddXY Series.AddNull Series.AddNullXY | Series.Delete Series.Clear |
Fast Line | Series.Add Series.AddXY Series.AddNull Series.AddNullXY | Series.Delete Series.Clear |
Bar | Series.Add Series.AddXY Series.AddNull Series.AddNullXY | Series.Delete Series.Clear |
HorizBar | Series.Add Series.AddXY Series.AddNull Series.AddNullXY | Series.Delete Series.Clear |
Area | Series.Add Series.AddXY Series.AddNull Series.AddNullXY | Series.Delete Series.Clear |
Point | Series.Add Series.AddXY Series.AddNull Series.AddNullXY | Series.Delete Series.Clear |
Pie | Series.Add Series.AddNull | Series.Delete Series.Clear |
Arrow | ArrowSeries.AddArrow Series.AddNull Series.AddNullXY | Series.Delete Series.Clear |
Bubble | BubbleSeries.AddBubble Series.AddNull Series.AddNullXY | Series.Delete Series.Clear |
Gantt | GanttSeries.AddGantt GanttSeries.AddGanttColor | Series.Delete Series.Clear |
Shape | ShapeSeries.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);
從系列中刪除數(shù)據(jù)點
使用Series.Delete從Series中刪除一個點。
Series1.Add(46, 'My first value', clTeeColor);
Series.Clear清除系列中的所有點。
將Null點添加到系列
有關支持AddNull方法的系列類型列表,請參閱向系列添加數(shù)據(jù)表。顧名思義,AddNull將為系列添加一個Null點,允許您為該點定義一個標簽,但在該點處系列中斷。在線系列的情況下,休息前的最后一個點不會在休息后加入到第一個點。見Series.AddNull。
Series1.Delete(7); //(8th point - Points index start at zero)
Series.Clear清除系列中的所有點。
將Null點添加到系列
有關支持AddNull方法的系列類型列表,請參閱向系列添加數(shù)據(jù)表。顧名思義,AddNull將為系列添加一個Null點,允許您為該點定義一個標簽,但在該點處系列中斷。在線系列的情況下,休息前的最后一個點不會在休息后加入到第一個點。見Series.AddNull。
Series1.AddNull('my null value');
未完待續(xù)...
購買TeeChart Pro VCL/FMX正版授權,請點擊“咨詢在線客服”喲!