« [R]データフレームの列名を変更する | トップページ | [R]JPEG形式の画像ファイルのサイズ(縦横のピクセル幅)を得る »

2014年10月16日 (木)

[R]PNG形式の画像ファイルを図の任意の位置に貼り付ける

PNG形式の画像ファイルを図の任意の位置に貼り付ける。

pngパッケージを使えば、Rの標準搭載のグラフィックス(graphicsパッケージ)を使用して図に画像を貼り付けることができる。

pngパッケージをインストールして使える状態にする。このパッケージに含まれるreadPNG関数を使用して画像ファイルを読み込み、rasterImage関数で画像を貼り付ければよい。

なお、ここで重要なrasterImage関数の引数は以下のとおり。

rasterImage(image, xleft, ybottom, xright, ytop)

  • image - ラスターオブジェクト
  • xleft - 画像を貼り付ける際の左端の座標
  • ybottom - 〃〃の下端の座標
  • xright - 〃〃の右端の座標
  • ytop - 〃〃の上端の座標

以下は実際に貼り付け例。以下は貼り付け例で使用したPNG画像image.png。大きさは幅128、高さ64ピクセル。

Image_3

まずはパッケージpngをインストールする。

> install.packages("png")
Installing package into ・・・
(表示省略)

パッケージpngを使える状態にして、実際に図に貼り付けてみる。

> library(png)
> plot(0, 0, type = "n", xlim = c(0, 10), ylim = c(0, 10))
> image <- readPNG("image.png")
> rasterImage(image, 0, 0, 8, 2)
> rasterImage(image, 2, 4, 4, 10)
> rasterImage(image, 6, 1, 10, 8)
> rasterImage(image, 6, 9, 11, 12)

結果は以下のとおり。

Result_png_2

図を見てのとおり、重なる場合はあとから貼り付けられた画像が上書きされる。図の描画範囲からはみ出てたものは描画されない。右上はわかりにくいが、図枠も上書きされてしまっていることに注意。

« [R]データフレームの列名を変更する | トップページ | [R]JPEG形式の画像ファイルのサイズ(縦横のピクセル幅)を得る »

R(グラフィックス)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]データフレームの列名を変更する | トップページ | [R]JPEG形式の画像ファイルのサイズ(縦横のピクセル幅)を得る »

無料ブログはココログ

■■

■■■