つれづれなる備忘録

日々の発見をあるがままに綴る

gnuplotによるグラフ作成30~画像データの表示

 今回はgnuplotを用いて画像データの表示する方法について紹介する。

1. 画像データの表示

 gnuplotで表示できる画像ファイルの種類はバージョンによって異なるので、show datafile binary filetypeとすることでどの形式が扱えるか確認できる。

ver5.2では以下のように、一般的な画像形式であるjpgやpngが扱えることがわかる。

show datafile binary filetype
>This version of gnuplot understands the following binary file types:
          avs     bin     edf     ehf     gif     gpbin   jpeg    jpg     png     raw     rgb     auto

画像データを表示するにはplot "ファイル名" binary filetype="形式" with rgbimageとする。例えば

set size square
plot "gundam.jpg" binary filetype=jpg with rgbimage

実行すると以下のように通常関数が表示されるところに画像データが表示されることがわかる。

"gnuplotにおける画像の表示"
gnuplotにおける画像の表示

2. グラフ内に画像を挿入

 グラフ内に画像を挿入するには、上の方法に加えてmultiplotを利用する。multiplot中の1つ目が関数プロット、2つ目が画像データの表示となるようにする。 概略としてはset multiplotとして1つ目は関数(またがデータ)をプロットし、画像を縮小して挿入するためにはset size x,yによりXYのサイズを指定し、さらにset origin x,yにより画像を挿入する位置を指定する。 プロット時に表示される目盛や凡例をunsetを用いて非表示になるようにして、最後に画像データを表示する。具体的には以下のようにした。

set size square
set multiplot
plot x
set size 0.35,0.35
set origin 0.5,0.1
unset key
set border 0
unset xtics
unset ytics
unset xlabel
unset ylabel
plot "gundam.jpg" binary filetype=jpg with rgbimage
unset multiplot

"画像をグラフに埋め込む"
画像をグラフに埋め込む

3. まとめ

 今回はgnuplotを用いて画像データの表示する方法とグラフ内にプロットと画像を表示する方法について紹介した。