我希望以单杠显示一系列堆叠的值。我可以显示堆叠在一起的值以及它们各自的值,但我无法将它们显示为mbStacked100(这样的值占据了图形宽度的100%),我在系列中有几个值,每个值都有对应的颜色。
此代码可用于添加各个值,但我无法成功使用mbStacked100将系列显示为百分比而不是各个值。
procedure TForm4.Button1Click(Sender: TObject);
var
Rnd : Integer;
i : Integer;
j : Integer;
MyColour : TColor;
HSeries : array of THorizBarSeries; {added here to clarify}
begin
{attempt to add a data set to the bar chart}
SetLength(HSeries, 0);
Chart1.RemoveAllSeries;
Chart1.LeftAxis.Items.Clear;
series1.StackGroup := 0;
Chart1.LeftAxis.Items.Clear;
Chart1.LeftAxis.Items.Count := 0;
Chart1.Pages.MaxPointsPerPage := 16;
SetLength(HSeries, 150);
for i := 0 to 150 do
begin
HSeries[i] := THorizBarSeries.Create(Chart1);
Hseries[i].MultiBar := mbNone;
// case RG1.ItemIndex of
// 0 : Hseries[i].MultiBar := mbNone;
// 1 : Hseries[i].MultiBar := mbStacked100;
// end;
HSeries[i].StackGroup := i;
HSeries[i].Marks.Visible := False;
HSeries[i].BarWidthPercent := 90;
MyColour := clGreen;
Rnd := Random(45);
Rnd := 45 + Rnd;
HSeries[i].AddX(Rnd, '', MyColour);
Hseries[i].MultiBar := mbSelfStack; {prepare for multi-stack}
Chart1.LeftAxis.Items.Add(i);
Chart1.LeftAxis.Items.Item[i].Text:= IntToStr(151-i)+' GT:'+IntToStr(Rnd);
{draw the yellow and red}
for j := 2 to 3 do
begin
if j = 2 then myColour := clYellow
else MyColour := clRed;
HSeries[i].AddX(j*2, '', MyColour);
end;
Chart1.AddSeries(HSeries[i]);
end; {for i}
end;
{________________________________________________________________________}
我尝试了多种使用mbStacked100的方法,以便将图像显示为100%,但没有一个成功。 上面的代码产生了这一点: Horizontal Stacked bars
我在Steema网站和文档中找不到任何可用的示例代码。 感谢您的协助。