如何在图7.12中为特定的XLAbel[i]定义字体颜色



如何为特定的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;

但它现在工作得很好!由于

相关内容

  • 没有找到相关文章

最新更新