1

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

4

2 回答 2

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 系列。

--

最好的祝福,

耶雷·阿隆索

Steema 支持中心

于 2012-01-26T08:52:34.180 回答
1

您还可以尝试使用 DBCrosstabSource 组件,该组件连接到任何数据集,并使用 Group 和 Label 字段和公式(总和或计数值)从数据库数据自动创建系列。您可以在所有功能 -> 欢迎!-> 数据库图表 -> 新功能演示中的数据库交叉表源部分可在此处获得。

于 2012-02-06T11:13:10.607 回答