如何定义Color
特定的XLabel[i]
?
像这样,
Chart1.Series[0].XLabel[idxMP].FONT.Color := clBLue;
但这不起作用。
我有 Delphi 7 和 Teechart 7.12
非常感谢!但只有这一行是正确的:(没有格式)
Chart1.Axes.Bottom.Items.Add(Chart1[0].XValue[i], Chart1[0].Labels[i]).Font.Color:=myColor;
但它现在工作正常!谢谢
您有 2 个选项:
第一个是使用标准标签,应该如下所示:
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;