TeeChart TLineSeries - 每个系列可以绘制多条线吗?

时间:2012-01-25 11:56:42

标签: delphi delphi-xe teechart

是否可以使用TeeChart使用单个TLineSeries绘制多条线?我想在数据集中指定系列应该分组的字段,每组绘制一行。或者这是不可能的,应该在图表中为每个应该显示的组/行添加一系列文章?

2 个答案:

答案 0 :(得分:3)

你可以实现它将XValues.Order设置为loNone并在每次想要开始换行时添加一个空点。但是,为了加快绘图和点处理速度,TFastLineSeries对所有点使用相同的颜色(SeriesColor)。如果你想为各个点使用不同的颜色,你应该使用TLineSeries。

uses Series;

procedure TForm1.FormCreate(Sender: TObject);
var i, j: Integer;
begin
  Chart1.View3D:=false;
  Chart1.Legend.Visible:=false;

  with Chart1.AddSeries(TFastLineSeries) as TFastLineSeries do
  begin
    XValues.Order:=loNone;
    TreatNulls:=tnDontPaint;
    for i:=0 to 4 do
    begin
      if i>0 then AddNullXY(0,0);  //start a new line

      AddXY(0,Random*1000);
      for j:=1 to 24 do
        AddXY(j, Chart1[0].YValue[Chart1[0].Count-1] + random*10 - 5);
    end;
  end;
end;

无论如何,我不明白为什么要做上述事情而不是创建几个TFastLine系列。

-

最诚挚的问候,

Yeray Alonso

Steema支持中心

答案 1 :(得分:1)

您还可以尝试使用连接到任何数据集的DBCrosstabSource组件,并使用Group和Label字段以及公式(sum或count值)自动从数据库数据创建系列。您可以在所有功能中找到示例 - >欢迎! - >数据库图表 - >可用的新功能演示中的DB Crosstab源部分here