如何为特定的XLabel[i]
定义Color
like this
Chart1.Series[0].XLabel[idxMP].FONT.Color := clBLue;
但是这不起作用
我有Delphi 7和Teechart 7.12
你有两个选择:
第一个是使用标准标签,应该按如下所示完成:
procedure TForm1.FormCreate(Sender: TObject);
begin
Series1.FillSampleValues(20);
Series2.FillSampleValues(20);
Chart1.BottomAxis.OnDrawLabel := DrawBottomAxis;
end;
procedure TForm1.DrawBottomAxis(Sender:TChartAxis; var X,Y,Z:Integer; var Text:String;
var DrawLabel:Boolean);
var
lValue: Integer;
begin
lValue := StrToIntDef(Text, -1);
if lValue < 0 then
Sender.LabelsFont.Color := clRed
else
if ((lValue mod 2) = 1) then
Sender.LabelsFont.Color := clGreen
else
Sender.LabelsFont.Color := clYellow;
end;
第二个是使用自定义标签,如下代码片段所示:
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
dt: TDateTime;
myColor: TColor;
begin
Chart1.AddSeries(TLineSeries.Create(Self));
for i:=0 to 10 do
begin
dt:=Now + i;
Chart1[0].AddXY(dt, random, DateToStr(dt));
end;
Chart1.Axes.Bottom.Items.Clear;
for i:=0 to Chart1[0].Count-1 do
begin
if i mod 2 <> 0 then
myColor:=clRed
else
myColor:=clBlack;
Chart1.Axes.Bottom.Items.Add(Chart1[0].XValue[i], Chart1[0].Labels[i]).Format.Font.Color:=myColor;
end;
Chart1.Axes.Bottom.LabelsAngle:=90;
end;
谢谢!但只有这一行是正确的:(不带Format)
Chart1.Axes.Bottom.Items.Add (Chart1[0]。XValue[我],Chart1 [0] .Labels[我]).Font.Color: = myColor;
但它现在工作得很好!由于