サンプルコードとドキュメント

グラフ上に線を描画する(複数スケール対応)

概要

グラフ上に表示しているデータは変えずに、データの前面に任意の色・太さ・スタイルの線を描画します。

詳細

LabVIEWのグラフは、実際に表示されるデータとは別に、背景・中間・前景の3つの画像があり、それらに描画することでグラフに表示される内容を細かにカスタマイズできます。

  • 背景画像は、プロットデータとグリッド線の背後に表示されます。ミックスドシグナルと波形グラフのこの画像を設定するには、プロット画像:背景プロパティを使用します。
  • 前景画像は、プロットデータとグリッド線の手前に表示されます。強度、ミックスドシグナル、波形グラフのこの画像を設定するには、プロット画像: 前景プロパティを使用します。
  • 中間画像は、グリッド線とプロットデータの間に表示されます。ミックスドシグナルと波形グラフの画像を設定するには、プロット画像:中間プロパティを使用します。

(抜粋元:グラフとチャートをカスタマイズする - グラフプロット領域に描画する

このサンプルプログラムでは、グラフの前景画像を取り出し、ピクチャ関数を使用して前景画像に任意の色・太さ・スタイルの線を描画します。

尚、このサンプルプログラムは複数のX・Yスケールがある場合、描画する際の座標を決めるために使用したいスケールを選択できます。

また、このサンプルはXYグラフを使用していますが、波形グラフ・強度グラフでも可能です。

実行方法

  1. 使用するX・Yスケールを入力します。
  2. 描画する線の開始点・終端点を入力します。
  3. 線の色、幅、ラインスタイルを選択します。
  4. VIを実行すると、グラフ上に線が描画されます。
    (黒い線だと、背景が黒いので良く見えません)


実装の詳細

(ブロックダイアグラム上に細かいコメントを付けましたので、そちらもご覧ください)

  1. 一旦、グラフの前景のプロット画像をクリアして初期化
  2. グラフの前景のプロット画像を所得
  3. 「開始点」制御器のXY値を、「XYを座標にマップ」メソッドでVIのフロントパネル上の座標に変換
  4. プロット領域の座標を所得
  5. 開始点のフロントパネル座標と、プロット領域の座標の差をとることで、プロット領域の中での開始点の相対的な座標を所得
  6. 開始点の相対的な座標に、ピクチャ描画用の「ペン」を移動する
  7. 手順3~5を、「終端点」制御器にも適用
  8. 終端点の相対的な座標へ、ピクチャにラインを描画する
  9. 前景のプロット画像に、ラインが描かれた画像を書き込む

必要なもの

ソフトウェア

  • LabVIEW 2012以降

VIスニペット(LabVIEW 2015)

xy_linedraw.png

NIコミュニティのサンプルコード交換のサンプルコードは、MIT Licenseによりライセンス供与されています。

寄稿者