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