Rでベクタ画像を作る際のメモ
Categories:
Rでベクタ画像を作成する際に色々調べたメモ。
ベクタ画像の作り方
postscriptでデバイスを開いて次のようにすると良い。
postscript("eps_sample1.eps",
width=7, height=7, paper="special", onefile = F,
horizontal = F)
plot(1:10, main="eps file")
dev.off()
widthとheightはインチ指定で描画する領域。paperはその外側の領域で"a4"とかサイズを指定するそうだけれど純粋に描いた領域の画像が欲しい場合は"special"を指定しておくと良いらしい。
onefileは1つのファイルに2つ以上の画像を埋め込むとかどうたらの設定らしいが, 指定しないで作ったら私の環境だとよく分からない余白が発生した。Rwikiによれば, horizontalを指定しておかないとLaTeXに取り込んだ際によくないことが起こるらしい。
フォントについて
フォントを変更したいときは,引数でfamily="Times"
のように指定してやると良い。
postscriptでどんなフォントが使えるかが知りたければ, ‘postscriptFonts()‘の引数で見ることができる。Japan1というのがあるのでそれを選べば日本語が出力できる。(私のUbuntuの環境だとできるがMacだとなぜかできない。)
postscript("eps_sample4.eps",
width=7, height=7, paper="special", onefile = F,
horizontal = F,
family="Japan1")
plot(1:10, main="日本語のフォント")
dev.off()
フォントの埋め込み
こうして作られたepsファイルはフォントが埋め込まれていないため, 当該のフォントが入っていない環境では表示されなくなってしまう。そこで出来上がった画像にフォントを埋め込む必要がある。といっても、関数一発でできるので難しいことはない。
embedFonts("eps_sample1.eps", format = "eps2write")