3
我有一個充滿TAreaSeries
的數據是這樣的: 如何在運行時設置TAreaSeries顏色?
我使用這個代碼來繪製圖表上的垂直線:
procedure TfrmDistributionChart.dbcDistributionAfterDraw(Sender: TObject);
var
XPos: Integer;
begin
dbcDistribution.Canvas.Pen.Width := 3;
dbcDistribution.Canvas.Pen.Color := clBlack;
XPos := dbcDistribution.BottomAxis.CalcPosValue(0);
dbcDistribution.Canvas.DoVertLine(XPos, dbcDistribution.LeftAxis.IStartPos,
dbcDistribution.LeftAxis.IEndPos);
dbcDistribution.Canvas.Pen.Color := clBlue;
XPos := dbcDistribution.BottomAxis.CalcPosValue(-SD);
dbcDistribution.Canvas.DoVertLine(XPos, dbcDistribution.LeftAxis.IStartPos,
dbcDistribution.LeftAxis.IEndPos);
XPos := dbcDistribution.BottomAxis.CalcPosValue(SD);
dbcDistribution.Canvas.DoVertLine(XPos, dbcDistribution.LeftAxis.IStartPos,
dbcDistribution.LeftAxis.IEndPos);
dbcDistribution.Canvas.Pen.Color := clGreen;
XPos := dbcDistribution.BottomAxis.CalcPosValue(-2 * SD);
dbcDistribution.Canvas.DoVertLine(XPos, dbcDistribution.LeftAxis.IStartPos,
dbcDistribution.LeftAxis.IEndPos);
XPos := dbcDistribution.BottomAxis.CalcPosValue(2 * SD);
dbcDistribution.Canvas.DoVertLine(XPos, dbcDistribution.LeftAxis.IStartPos,
dbcDistribution.LeftAxis.IEndPos);
dbcDistribution.Canvas.Pen.Color := clRed;
XPos := dbcDistribution.BottomAxis.CalcPosValue(-3 * SD);
dbcDistribution.Canvas.DoVertLine(XPos, dbcDistribution.LeftAxis.IStartPos,
dbcDistribution.LeftAxis.IEndPos);
XPos := dbcDistribution.BottomAxis.CalcPosValue(3 * SD);
dbcDistribution.Canvas.DoVertLine(XPos, dbcDistribution.LeftAxis.IStartPos,
dbcDistribution.LeftAxis.IEndPos);
end;
我想該系列的顏色更改爲匹配其外邊界的顏色(例如,藍色表示中央切片,綠色表示中間切片,而紅色表示最外側切片)。 TeeChart Standard v2011.03.32815 32bit VCL有可能嗎?
此外,我無法找到正確的方式修剪我的垂直線,以避免擴大到他們被繪製的區域之外。我應該如何計算這7條線的適當高度?
'ColorRange'方法有效嗎?像'dbcDistribution.ColorRange(dbcDistribution.XValues,x1,x2,color);' –