2017-07-29 72 views
0

我有一個數據集返回數據,如低於堆積圖不堆積成一個單杆按日期

日期,面積,銷售

2017年6月1日00:00:00.000食堂435.29

2017年6月1日00:00:00.000健身房26

2017年6月1日00:00:00.000釘子75

2017年6月1日00:00:00.000ù ncategorized 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條,我得到3條

enter image description here

如何堆疊的日期1條得到這個?

有什麼特別的我需要與軸?

乾杯

保羅

回答

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; 

+0

謝謝,我認爲這個問題是0,如果我的用戶希望看到他們我可能需要重新打開它! – Paul