この記事で扱っていること
- 強度グラフの色味を変更する方法
を紹介しています。
注意:すべてのエラーを確認しているわけではないので、記事の内容を実装する際には自己責任でお願いします。また、エラー配線は適当な部分があるので適宜修正してください。
LabVIEWのグラフには、いわゆるプロット点をつなげて表示しデータの推移を図的に表示させる波形グラフ以外に、強度分布を表示するための強度グラフがあります(波形グラフにチャート版があるように、強度グラフの対として強度チャートもありますが)。
強度グラフは面上の各点の強度を色分けや濃淡で表示させることができるのですが、デフォルトだと黒、青といった色で表現されることになります。
一方で、別の色で区分したい、あるいは色分けを細かくしたいといった場合もあると思います。そしてこれはプログラム実行中に動的に変更することができます。
いくつかの色のバリエーションをあらかじめ用意し、切り替えられるようなプログラムを作ってみました。
どんな結果になるか
強度グラフの色味を変更するのにケースで分けるようにしてみました。列挙体を使用して分けてもいいのですが、シンプルに数値制御器で場合分けをするようにしています。
プログラムを実行すると、選択した数値に応じて色味を変えるようにしています。
プログラムの構造
プログラム全体の構造は次のようなものです。単純に強度グラフの表示と同じループにケースストラクチャを入れてこのケースストラクチャに渡す数値(カラー設定)に応じてプロパティノードで指定する色を変更する仕組みです。
強度グラフの色はプロパティノードで変更します。決めるべきは、特定の値の時にどの色にするか、という組み合わせの集合、つまり配列です。特定の値でしか色を決めず、その値同士の間はグラデーションがつくように補完されます。
色の配分を均等にするため、強度グラフの最大値を色の配分の数で割ってそこに何番目の色かという数字を掛けることで均等にしています。またスケールの表示が見にくくならないように「最も近い値に丸め込み」の関数を使用しています。
なお、ループに入る前に、デフォルトの色味について定数を設けています。これは、プログラムを作り始める際、まず強度グラフを置いて、プロパティノードを用意し、読み取りの状態で表示器を付けて実行、その結果得られる表示器の中の値を定数にして得たものです。
効率のいい組み方
上記のブロックダイアグラムでは、ループで毎回色味を指定していますが、もちろん無駄が多いです。プログラムの実行速度的に問題にならない場合にはこれが簡単ですが、少しでも効率よくしたいということであればイベントストラクチャを使用することになります。
イベントはフロントパネル上の各ボタンを押すことで発生するようにしました。イベントストラクチャの中に処理を入れるのはあまり好ましくないですが、あくまでイベントストラクチャを使用した場合のおおよそのイメージを持つために作ってみました。
強度グラフは波形グラフなどと比べると登場回数が減るかもしれませんが、結果を点ではなく面で表すときに利用できます。その際の表示の見やすさのために濃淡や色分けをデフォルトの値から変えることがあると思うので、そうしたときに役立つかなと思います。
ここまで読んでいただきありがとうございました。
コメント