我有一个数据集,它返回如下所示的数据
日期,区域,销售
2017-06-01 00:00:00.000食堂435.29
2017-06-01 00:00:00.000 Gym 26
2017-06-01 00:00:00.000 Nails 75
2017-06-01 00:00:00.000未分类482.5
我正在尝试使用此数据创建堆积条形图
系列的数量会有所不同
我有以下逻辑来创建系列,但我不知道如何添加每个值,例如我需要X轴来按日期并且有2个小节。然后根据上述数据将每个条形堆叠成3个系列。
while not tblSalesBreakdownByDate.Eof do
begin
nIndex := objList.IndexOf(tblSalesBreakdownByDateCategory.AsString);
if nIndex = -1 then
begin
objSeries := TBarSeries.Create(Self);
objSeries.MultiBar := TMultiBar.mbStacked;
objSeries.Title := tblSalesBreakdownByDateCategory.AsString;
chrtBreakdownByDate.AddSeries(objSeries);
objList.AddObject(objSeries.Title, objSeries)
end
else
objSeries := objList.Objects[nIndex];
objSeries.Add(tblSalesBreakdownByDateTotalSales.AsFloat, tblSalesBreakdownByDateTransactionDate.AsString);
tblSalesBreakdownByDate.Next;
end;
当渲染时,而不是堆叠的1 bar,我得到3条
如何在日期堆叠的1个酒吧中获得此信息?
Axis有什么特别之处吗?
干杯
保
答案 0 :(得分:0)
这给了我一个单独的堆叠列:
uses Series;
procedure TForm1.FormCreate(Sender: TObject);
begin
with Chart1.AddSeries(TBarSeries) as TBarSeries do
begin
MultiBar:=mbStacked;
Marks.Hide;
Title:='Canteen';
Add(435, '2017-06-01');
end;
with Chart1.AddSeries(TBarSeries) as TBarSeries do
begin
MultiBar:=mbStacked;
Marks.Hide;
Title:='Gym';
Add(25, '2017-06-01');
end;
with Chart1.AddSeries(TBarSeries) as TBarSeries do
begin
MultiBar:=mbStacked;
Marks.Hide;
Title:='Nails';
Add(95, '2017-06-01');
end;
with Chart1.AddSeries(TBarSeries) as TBarSeries do
begin
MultiBar:=mbStacked;
Marks.Hide;
Title:='Uncategorized';
Add(455, '2017-06-01');
end;
end;