0

Color特定の を定義するにはどうすればよいXLabel[i]ですか?

このような、

Chart1.Series[0].XLabel[idxMP].FONT.Color := clBLue; 

しかし、これは機能しません。

私は Delphi 7 と Teechart 7.12 を持っています

4

2 に答える 2

0

どうもありがとう!しかし、この行だけが正しいです: (フォーマットなし)

Chart1.Axes.Bottom.Items.Add(Chart1[0].XValue[i], Chart1[0].Labels[i]).Font.Color:=myColor;

しかし、それは今ではうまくいきます!ありがとう

于 2013-01-21T13:58:13.367 に答える
0

次の 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;

2 つ目は、次のコード スニペットのようにカスタム ラベルを使用することです。

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;
于 2013-01-18T16:50:16.950 に答える