99.69 Pixmap

書式:
     set pixmap <index> "filename" at <position>
                {width <w> | height <h> | size <w>,<h>}
                {front|back|behind} {center}
     show pixmaps
     unset pixmaps
     unset pixmap <index>

コマンド set pixmap は、その後に続く plot で表示されるオブジェクトを 定義するコマンド set object と似ています。そのピクスマップを構成する R/G/B/alpha の値の長方形配列が png, jpeg, gif ファイルのいずれかから読 み込まれます。gnuplot 出力上の位置とピクスマップが占有する範囲は、任意 の座標系 (以下参照: coordinates (p. [*])) で指定できます。at <position> で 与えた座標は、キーワード center が指定されていない限り、ピクスマップ の左下角を意味します。

width <x-extent> を使用して描画するピクスマップの x の範囲を 指定し た場合、元の画像のアスペクト比が保持され、軸のスケールや回転ではアスペ クト比もピクスマップの向きも変更しません。height <y-extent> を使用し て y の範囲を指定した場合も同様です。size <x-extent> <y-extent> を使 用して x と y の範囲の両方を指定した場合、元のアスペクト比を変更します。 サイズを指定しなければピクセル単位での元のサイズを使用します (よってそ の実際のサイズは、出力形式に依存します)。

ピクスマップは、グラフの境界でクリッピングしません。オブジェクトやレイ ヤの一般的な挙動に対する例外として、behind レイヤに割り当てたピクス マップは、multiplot では最初の plot でのみ描画します。これは、一つの背 景用のピクスマップを、multiplot のすべてのパネルで共有することを可能に します。

例:

     # すべてのグラフの背景としてグラデーションを使用
     # キャンバス全体を埋めるよう x, y の両方をリサイズする
     set pixmap 1 "gradient.png"
     set pixmap 1 at screen 0, 0 size screen 1, 1 behind


     # グラフの各ページの右下にロゴをを配置
     set pixmap 2 "logo.jpg"
     set pixmap 2 at screen 0.95, 0 width screen 0.05 behind


     # ある 3 次元座標に小さい画像を配置
     # それは描画されている曲面に張り付いているように移動するが、
     # 常に前を向き直立し続ける
     set pixmap 3 "image.png" at my_x, my_y, f(my_x,my_y) width screen .05
     splot f(x,y)

竹野茂治@新潟工科大学
2020-12-08