1

TeeChart を使用して単一の TLineSeries で複数の線を描画することは可能ですか? シリーズをグループ化するデータセット内のフィールドを指定し、グループごとに 1 つの線を描画したいと思います。または、これは不可能であり、表示する必要がある各グループ/ラインのチャートにシリーズを追加する必要がありますか?

4

2 に答える 2

3

XValues.Order を loNone に設定し、新しい行を開始するたびに null ポイントを追加することで実現できます。ただし、描画と点の処理を高速化するために、TFastLineSeries はすべての点に同じ色 (SeriesColor) を使用します。個々のポイントに異なる色を使用したい場合は、代わりに TLineSeries を使用する必要があります。

uses Series;

procedure TForm1.FormCreate(Sender: TObject);
var i, j: Integer;
begin
  Chart1.View3D:=false;
  Chart1.Legend.Visible:=false;

  with Chart1.AddSeries(TFastLineSeries) as TFastLineSeries do
  begin
    XValues.Order:=loNone;
    TreatNulls:=tnDontPaint;
    for i:=0 to 4 do
    begin
      if i>0 then AddNullXY(0,0);  //start a new line

      AddXY(0,Random*1000);
      for j:=1 to 24 do
        AddXY(j, Chart1[0].YValue[Chart1[0].Count-1] + random*10 - 5);
    end;
  end;
end;

とにかく、いくつかの TFastLine シリーズを作成する代わりに、なぜ上記のことをしたいのかわかりません。

--

よろしくお願いします、

イェレイ・アロンソ

スティマ サポート セントラル

于 2012-01-26T08:52:34.180 に答える
1

また、任意のデータセットに接続し、Group および Label フィールドと式 (合計値またはカウント値) を使用して、データベース データからシリーズを自動的に作成する DBCrosstabSource コンポーネントを使用することもできます。[すべての機能] -> [ようこそ!] に例があります。-> データベース チャート -> 新機能デモの DB クロス集計ソース セクションは、こちらで入手できます。

于 2012-02-06T11:13:10.607 に答える