力学系のシミュレーションを行うとき、シミュレーション結果の時系列データを2次元プロットで確認したり比較したりすることが多いと思います。
シミュレーション結果が条件ごとにファイルに保存されているとして、MATLAB や Excel の標準機能を使ってプロットを作成する場合、変数やファイルの数が多くなるとプロット作業はすぐに煩雑になります。
そこで、シミュレーション結果や実験結果など、複数のファイルに保存された大量のデータを素早くプロットして確認・比較したい場合にお勧めなのが、Scilab の QuickPlot モジュールです。
Scilab は無償で利用できるオープンソースの数値計算ソフトウェアで、洗練されたプロット機能を持っています。QuickPlot は Scilab 上にインストールするモジュールで、素早くプロットを描くためのシンプルで使いやすい GUI を提供します。
QuickPlot を使えば、ファイルに保存されたデータから簡単にプロットを作成することができます。一切コードを書く必要がないので、Scilab の知識も必要ありません。
この記事では、Scilab の QuickPlot モジュールについて紹介します。
QuickPlot のインストール
QuickPlot を使用するためには、Scilab のバージョン 6.0 以上がインストールされている必要があります。Scilab のインストールについては Scilab のホームページを参照してください。
Scilab を起動し、インターネットに接続されている状態で次のコマンドを入力します。
--> atomsInstall("quickplot")
このコマンドがエラー無く終了すれば、QuickPlot のインストールは完了です。ただし、モジュールは Scilab の起動時にロードされるため、Scilab を一旦終了し、再起動します。
QuickPlot の起動
Scilab の起動時に次のようなメッセージが表示されれば、QuickPlot モジュールは正しくロードされています。
Load QuickPlot: GUI-based 2D line plotting tool for quick data browsing Load macros Load help Enter 'quickplot' to start QuickPlot Please comment, score, bug report at https://atoms.scilab.org/toolboxes/quickplot/2.0
QuickPlot を起動するには、次のコマンドを入力します。
--> quickplot
すると、下図のような QuickPlot のメインウィンドウが現れます。
データファイルの形式
QuickPlot で読み込むことができるデータファイルは、下図のような列方向に並んだ数値データを含むASCIIファイルです。数値間の区切り文字にはコンマまたは空白が使用できます。ファイルはヘッダーを含むことができます。もし、各列データに対応するラベルの行がある場合には、ラベルを変数名として読み込むことができます。
ファイルからデータを読み込む
「File」メニューから「Import Data」を選択すると、「Import Data from File」ダイアログボックスが開きます。
「Browse」ボタンからファイルを選択し、ヘッダ行数、区切り文字、ラベル行を指定して「Import」ボタンを押すと、ファイルからデータを読み込みます。
ファイルの形式が同じであれば、複数のファイルを指定して一挙にデータを読み込むことができます。
データをプロットする
ファイルからデータを読み込むと、「Data」リストボックスに読み込んだデータの名前(最初はファイル名)が表示されます。データを選択すると、そのデータに含まれる変数(列データ)の名前が「X variable」および「Y variable」リストボックスに表示されます。
「X variable」と「Y variable」を選択して「Add Curves」ボタンを押すと、プロットが描画されます。
複数のデータを選択して共通の変数をプロットすることもできます。
ブラウズモード
「Browse」チェックボックスにチェックを入れると、ブラウズモードになります。ブラウズモードでは、データや変数を選択した瞬間にプロットが更新されます。
グラフプロパティの変更
「Show Property Setting」ボタンを押すと、グラフプロパティを設定するGUIが表示されます。グラフプロパティを変更して「Apply」ボタンを押すと、変更がグラフに反映されます。
データと変数のフィルタリング
データや変数の数が多くなると、プロットしたいデータや変数をリストボックスから探し出すのが難しくなります。そのような時には、データや変数のフィルタリング機能が便利です。
リストボックス下の「Filter」チェックボックスにチェックを入れ、入力フィールドに“glob”パターンを入力すると、パターンにマッチする名前を持つものだけがリストボックスに表示されます。
フィルタリング機能を最大限に活用するためには、あらかじめ変数名を構造化しておくと良いです。(下図参照)
まとめ
以上、ファイルに保存されたデータから2次元プロットを素早く描くことができる、Scilab の QuickPlot モジュールについて紹介しました。地味なツールですが、たくさんのシミュレーション結果を確認したり比較したりする場合にはかなり有効なツールだと思います。無償で利用できますので、ぜひ試してみてください。
コメント