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