是否可以使用TeeChart用一个TLineSeries绘制多条线?我想在数据集中指定一个字段,该系列应根据该字段分组,每组绘制一条线。或者这是不可能的,并且应该为应该显示的每个组/行在图表中添加一个系列?
您可以通过将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支持中央
您也可以尝试使用DBCrosstabSource组件,该组件连接到任何数据集,并使用Group和Label字段和公式(总和或计数值)自动从数据库数据创建序列。您可以在All Features->Welcome!->中找到示例数据库图表->新功能演示中的数据库交叉表源代码部分。