多重描画モード (Multiplots)
多重描画グラフ (multiplot) の仕組みは、複数の plot, splot コマンドの出
力を一つのページ、あるいは一つの画面に結合するのに使います。この仕組み
は、gnuplot 6.1 で、結合された画面に対する対話型マウス操作を可能にする
こと、および再描画に既に存在するコマンド replot か新しいコマンド
remultiplot を使うことを可能にすることを目的として再構築されています。
多重描画グラフモードは、コマンド set multiplot で開始し、
unset multiplot でそれを閉じるまで続きます。
- コマンド set multiplot は現在の描画設定の状態を新しいデータブロッ
ク $GPVAL_PRE_MULTIPLOT に保存し、引き続くコマンドの新しいデータブロ ック $GPVAL_LAST_MULTIPLOT への記録を開始します。
- plot, splot コマンドそれぞれは、多重描画グラフ内に新しいパネルを
作ります。各パネルの位置、サイズ、軸の範囲、その他の属性を、後での利 用のために保存します。
- unset multiplot 後に、上記の 2 つのコマンドデータブロックとパネル
毎のデータが完結します。それらの内容は、その後の gnuplot のコマンド では影響を受けません。対話型セッションではこの時点で多重描画グラフ全 体をスクリーンに表示します。マウス操作では、保存したデータを使い、可 能ならばパネル毎に適切な座標と視角を報告します。
- コマンド replot は $GPVAL_LAST_MULTIPLOT のコマンドを再実行します。
それは、元の描画設定の状態を再構成しようとはせず、よってその結果 は元の図を完全に復元したものにはならない可能性があります。これは、単 一グラフに対する replot と同様で、replot コマンドを発行する前に、 例えば塗りつぶしスタイルや軸範囲の位置などをあえて変更することで、そ の新しい設定が再描画される図に影響を与えるようにできます。
- コマンド remultiplot は違います。これは $GPVAL_PRE_MULTIPLOT に保
存したコマンドを読み込むことで、最初に元の描画設定の状態を再構成し、 その次に保存した multiplot コマンド列を再実行します。これにより、例 えば違う出力形式への出力でも、元の図を再現できるようになります。 replot とは違い、元の multiplot と remultiplot の間に行われた画面 設定はほぼすべて失われます。
- replot, remultiplot のいずれの仕様もあなたが気にいらない場合は、
以下のようなカスタマイズしたコマンド列を使用することも可能です。
load $GPVAL_PRE_MULTIPLOT # 元の描画設定を復帰
set style fill transparent # 設定を一つ変更
load #GPVAL_LAST_MULTIPLOT # multiplot コマンド列を再実行
[試験段階] 詳細は変更の可能性あり。現時点でいくつかの制限あり。
- 保存コマンドのうち再実行の際に問題になりそうなある種のコマンド、例え
ば reset, pause, 新しいデータブロックの定義などは、再実行しませ ん。
- パネル毎に保存するデータは、非線形軸割り当てを解釈するには不十分です
ので、そのグラフは正しく表示されますが、マウス操作では座標を正しく表 示できません。
- 一つの multiplot に対し最大 16 のパネルでマウス操作できます。
multiplot のパネル数が 16 より多い場合、追加パネルは正しく表示されま すが、マウス操作は正しく行えません。 この制限は、今後改善されるでしょう。