Home > Delphiなどなど > TGPXYGraph

 TGPXYGraph

TXYGraphコントロールは、数学の教科書などで普通にみられるX軸とY軸をもった 2次元の直交グラフを表現する、Delphi win32 vcl コントロールです。 このコントロールに折れ線や散布図をなどを表す系列コンポーネントを配置して、 データを追加することにより簡単に直交グラフを表示することができます。
GPXYGraphコンポーネントのリファレンス

特徴

  1. X軸 と Y軸の交点は任意に指定が可能です。
  2. 各軸は通常の目盛に加えてπ目盛、対数目盛、%目盛にすることができます。
  3. GDI+を使用している。線種や塗りつぶしに対して、豊かな表現ができる。
  4. コンポーネントエディタを持つので、設計時にプロパティを容易に設定できる。

ダウンロード

Delphi 10.3.2 で作成しました。

GPXYGraph100.zip 176(kB) 2020/03/12

*ソフトウェアは公開前に最新のワクチンソフトでウィルスチェックをしています。


■ Topへ

使用方法

  1. インストール方法
  2. まず、ダウンロードした GPXYGraph100.zip のブロックを解除してください。 (ファイルのプロパティを開き、一番下にあるセキュリティのチェックボックスをチェックします) そのうえで展開してください。
    次に、<src>フォルダにあるすべてのファイルを、適当なフォルダにコピーします。

    Delphiのメニューで[コンポーネント]から[コンポーネントのインストール…]で行う場合は、

    1. ユニットファイルとして、ColorPicker.pas と GPXYGraphReg.pas を選択
    2. 任意のパッケージを選択
    3. 説明には、「GPXYGraph コンポーネント」などとします。

    [プロジェクトを開く…]で、SadasGraphComponents.dpkを開き、[プロジェクトマネージャー] の SadasGraphComponents.bplを右クリックしてそのメニューから[インストール]することもできます。

  3. 新しいグラフの作成 設計時
  4. フォームまたはパネルなどのコンテナコントロール上に、GPXYGraph コンポーネントを 配置します。次にGPXYGraph コンポーネントをダブルクリックして、GPXYGraph コンポーネント のグラフエディタを表示させます。 (もしくは、グラフを右クリックしたとき出るメニューで「系列の編集」をクリックします。)
    グラフエディタはGPXYGraphのコンポーネントエディタが作成する対話型のフォームです。

    系列の追加イメージ

  5. 新しい系列の作成
  6. グラフエディタの[グラフ | 系列]ページで、追加ボタンをクリックすると、 系列を選択するダイアログボックスが現れます。

    一覧からひとつを選択し、[ OK ]をクリックすると、GPXYGraphに選択した系列が 追加されます。いくつかのサンプルデータをつけて表示されるので、系列の概要を 設計時にも見ることができます。次の例は散布図系列をひとつ追加した場合のようすです。

    それぞれの系列はGPXYGraphが所有する「隠れた」サブコンポーネントとして作成されます。 「隠れた」とは、デルファイのオブジェクトインスペクタなどでは表示されるが、 フォームエディタ上にはコンポーネントのアイコンが表示されないという意味です。

  7. 系列へ要素を追加する
  8. ここで追加された系列にはまだ中身がありません。次のステップで系列に要素を追加していきます。 要素の追加は、各系列に用意された追加メソッド(AddXY, AddArrow など)を利用して プログラムで行います。この場合は、プロットする点の各要素を一括してセットで与えます。

    つぎの例は、グラフが Series1 という名前の折れ線系列に3つの点を追加する場合の コード例です。こうしたコードをフォームの OnCreate イベントやボタンの OnClick イベントで実行するようにします。

        with Series1 do
        begin
          Clear;
          AddXY(0, 5);
          AddXY(2, 8);
          AddXY(4, 6);
        end;
      

    ■ Topへ

  9. 実行時にGPXYGraphを生成する
  10. 実行時にグラフを生成する場合には、グラフと系列の変数を宣言します。

      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private 宣言 }
        GPXYGraph: TGPXYGraph;
        Series1: TXYLineSeries;
          
      public
        { Public 宣言 }
      
      end;
      

    そのうえで、フォームの OnCreate イベントハンドラで、グラフと系列を生成します。 このとき下記コードの最終行のように、系列のParentGraphを必ず設定します

      procedure TForm1.FormCreate(Sender: TObject);
      begin 
        GPXYGraph := TGPXYGraph.Create(Self);
        GPXYGraph.Parent := Self;  
        GPXYGraph.Left := 20;
        GPXYGraph.Top := 20;
        Series1 := TXYLineSeries.Create(Self);
        Series1.ParentGraph := GPXYGraph;//グラフを設定する
      end;
      

    ■ Topへ

更新履歴

  • 2020/03/12 version 1.00

■ Topへ