And it results in:
Though the AngleValues have equal increments, the chart seems to leave gaps - for example 0th value (red) appears fine but the 1th (not really 1st I suppose) value (green) doesn't occur next to it with the 2th value (yellow) overwriting it.
I am not doing anything too fancy:
Code: Select all
Chart2.RemoveAllSeries;
Chart2.Title.Text.Clear;
Angle := 360 / (CurrProjectThemeList.Count * 3);
Chart2.BottomAxis.Increment := Angle * 3;
Chart2.LeftAxis.Automatic := False;
Chart2.LeftAxis.Minimum := 0;
Chart2.LeftAxis.Maximum := 5;
Chart2.LeftAxis.Increment := 1;
RoseSeries := TFRSRose.Create (Chart2);
RoseSeries.OnGetCircleLabel := CircleThemeLabels;
for I := 0 to CurrProjectThemeList.Count - 1 do
begin
Ans := CurrProjectThemes [CurrProjectThemeList [I].Key];
if Ans.Count [1] > 0 then
X := Ans.Totals [1] / Ans.Count [1]
else
X := 0;
RoseSeries.AddPolar (Angle * (I * 3), X, '', clRed);
if Ans.Count [2] > 0 then
X := Ans.Totals [2] / Ans.Count [2]
else
X := 0;
RoseSeries.AddPolar (Angle * (I * 3 + 1), X, '', clGreen);
if Ans.Count [3] > 0 then
X := Ans.Totals [3] / Ans.Count [3]
else
X := 0;
RoseSeries.AddPolar (Angle * (I * 3 + 2), X, '', clYellow);
end;
Chart2.AddSeries (RoseSeries);
RoseSeries.Pointer.Visible := False;