gnuplot : プロットウインドウを複数開いて使う方法

プロットウィンドウについて

 gnuplotで端末にQt, Wxt, X11を用いると、プロットしたときプロットウィンドウが開いてそこにグラフが出力されます。通常はプロットウィンドウを開いた状態で新たにプロットすると、そのプロットウィンドウに新しいプロットが上書きされます。これはこれで普通の動作なわけですが、消える前のプロットをもう一度確認したい場合は再度そのプロットコマンドを実行する必要があります。では、プロットウィンドウを開いたまま、別のウィンドウに新たにプロットするにはどうすればいいでしょうか?というのが今回の話です。

複数プロットウィンドウを開いた状態
複数プロットウィンドウを開いた状態

複数のプロットウィンドウ

出力端末のオプション

 gnuplotでは出力端末の設定を
gnuplot> set term qt
のようにしますが、端末名(ここではqt)の後ろに番号を付けることで、複数のプロットウィンドウを作成することが出来ます。"term qt <n>"の"<n>"に番号を入れて指定する形となります。このオプションがあるかどうかは出力端末にもよるのですが、簡単に調べた限りではQt、Wxt、X11にはありました。

複数プロットウィンドウを開く方法

 さて、実際に番号を付けて指定、プロットするには
gnuplot> set term qt 1
gnuplot> plot x

とします。これで1つ目のプロットウィンドウにプロットされます。そして、2つ目のプロットウィンドウにプロットするには続けて
gnuplot> set term qt 2
gnuplot> plot sin(x)

とします。これで1つ目のプロットウィンドウが開いたまま、新たに2つ目のプロットウィンドウにプロットされます。さらにプロットウィンドウを増やしたい場合は、ここまでと同様に
gnuplot> set term qt 3
gnuplot> plot 1/x

としていきます。ここまで番号は1から順番に2→3と増やしましたが、他と被らなければ適当な番号に割り当てることが出来ます。

すでに開いてあるプロットウィンドウに新しくプロット

 さて、複数プロットウィンドウを開く方法は以上の通りですが、すでに開いてあるプロットウィンドウの方に新しくプロットしたい場合もあるでしょう。この場合、ウィンドウを開く際に付けた番号で再度指定してやれば、指定したウィンドウに新たにプロットすることが出来ます。例えば複数プロットウィンドウがある状態で、1という番号のプロットウィンドウにプロットしたい場合は次のようにします。
gnuplot> set term qt 1
後はプロットコマンドを実行すれば番号1のプロットウィンドウに対して新たにプロットすることが出来ます。
gnuplot> plot cos(x)

プロットウィンドウのサイズ、位置を指定する

 さて、ここまでで複数プロットウィンドウを使う基本的な方法は説明しました。複数ウィンドウが開くのはいいのですが、おそらくここまで説明した方法では、それぞれのウィンドウ位置は重なった状態で開かれるでしょう。後から適当な位置にウィンドウを移動すればいいだけですが、あらかじめウィンドウの開く位置を指定することも出来ます。それと合わせてウィンドウの大きさを指定する方法も説明します。

まずウィンドウを開く位置を指定するには出力端末設定のオプションに"position X,Y"、そして大きさを指定するには"size X,Y" で行ないます。1つだけ例を上げておくと以下のような指定方法となります。
gnuplot> set term qt 1 size 500, 350 position 150, 50
与える位置座標(X,Y)は使っているシステムに依存するでしょうから、そのへんは実際にどの位置にどのくらいの大きさで出力されるのかを確認しながら調整してみてください。

指定した位置から微妙にズレる(確認中)

 何度か試してみたのですが、positionで位置を指定してもその位置から微妙にズレた場所にウィンドウが表示されてしまうことがありました。たまたま自分の環境でそうなるだけかも知れないですが。この件については、また確認出来たら追記していこうと思います。


各種端末での出力例

最後に各種端末で複数プロットウィンドウを開いた状態のスクリーンショットを載せておきます。

複数プロットウィンドウ(Qt)

複数プロットウィンドウ(Wxt)

複数プロットウィンドウ(X11)


gnuplot関連のブログ記事

コメント

スポンサーリンク


このブログの人気の投稿

gnuplotでプロットなどの色をcolornameの指定で変更する

catコマンドの出力を行番号付きにするためのコマンドラインオプション(-n, -b)

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplot : グラフにグリッド線を描く方法(set grid)

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)