Rで作ったグラフ画像をオフィスに挿入するときのあれこれ ver.1


なんかいまいちよくRを理解していない初心者がかいているから,間違ってたら指摘してね!!


Rでグラフを作るメリットは,拡張性とか(例えばggplot2みたいな,かっちょいいライブラリがあったり),あとは同じような図をいっぱい作れるところにあるんじゃないかと思う.
Exceをl使用したグラフは同じようなグラフの縦横サイズを合わせるのにも微妙に気を使うしね.
そこのとこと,Rだと

png *1('画像ファイル名.png', width=700, height=400)

#plotとかの画像を書く指示

dev.off()

で,画像を書く指示を変えれば同じサイズのグラフがかんたんに量産できる.

ベクタイメージとラスタイメージ

  • ベクタイメージ...でっかくしてもちいさくしても,文字や線がぎざぎざにならない,つまり画質が落ちない
  • ラスタイメージ...でっかくしてもちいさくしても,文字や線がぎざぎざになる.画質が落ちる.


イメージ的に,ベクタイメージはサイヤ人の大猿化.でっかくなってもすばやい*2


さて,こういうイメージを持っていると,大きくしたり小さくしたりしなければ(元のサイズで使えば)ラスタイメージは劣化しない(ぎざぎざにならない)んじゃないか,と,ぼくは思っていました.
実際,png形式でそのままプリントすると非常にきれいな図が出力される.

Microsoft Office Wordにpngを貼付けて印刷すると


ぎざぎざになりましたっ!!*3


画像をもとのサイズで貼付けても,印刷するとぎざぎざになる.理由はよくわかんない.
wordに貼付ける段階で,すくなからず拡大してるってことだろうか,なんとなく.
pngで出力した時点で劣化している,とかつどんがいってたけどいまいちぴんとこない.

ベクタイメージってどんな画像フォーマット?


あの真面目な百科事典によると,画像フォーマットとしては以下のものがあげられる.

  • PostScript - EPS
  • PDF
  • SVG
  • WMF


あとpsd(フォトショップのフォーマット)もベクタイメージだってGoogle先生が言ってた.

Rでpdf出力


Rはグラフをpdfで出力できるから,さっきのpngをpdfにすればおっけっぽい.
ただ,単純にpngの部分をpdfにするんじゃだめみたいです(引数が微妙に違う?).

pdf("ファイル名.pdf",family="フォントを入れてね",paper="用紙サイズ.なくてもいい",width=幅(インチ),height=高さ(インチ),pointsize=文字の大きさ,数字で入れる)
プロット処理
dev.off()


縦横がインチ表示なのがポイント.
インチとmmの変換は,先生に聞いてください.A4が9×12インチだったと思う.

pdfを画像としてwordに貼付ける


ベクタイメージのファイルができたから,これをwordに貼付ければいくら拡大してもぎざぎざにならないファイルになる,はず.
昨日の昼くらいに,ここまでたどり着いた.


pdfをWordに貼付ける→印刷→やっぱりぎざぎざ!!


pdfで出力したけど,wordがベクタイメージとして認識していないみたい.
Adobe readerで見る限りだときちんとベクタイメージなんだけど(ぎざぎざしない),wordに貼付けるとぎざぎざする.
あてずっぽうだけど,wordは挿入できる画像形式一覧にpdfがないから,別の形式に内部で変換してる?

意地でもWordでベクターイメージを認識させる


Wordが扱えるイメージ一覧に,psd形式がある.
これは先にも書いたけど,フォトショップ*4のファイル形式.
ちょうどいいことに,Macのプレビューはpdfに対応していて,保存形式にpsd形式がある.


単純に考えて


PDFで出力→Macのプレビューで開く→別名で保存,で保存形式をpsd形式にする→Wordに貼付ける.


でいけそうな気がした.
で事実いけた

psd形式で保存するときの注意

なんか解像度を指定しろと言われる.
○○ ピクセル/インチ で指定する.
デフォルトは150だけど,これだと拡大したときちょっとぎざぎざする.
とりあえずディスプレイの解像度入れたらきれいになった.
あんまり大きくするとファイルサイズも大きくなるので,640くらい入れとけばで十分な気がする.


ちなみに


Excelで作った図をそのままWordにコピーペースとすると,ベクタイメージとして認識します.
問題は,エクセルのファイルにハイパーリンクを張っちゃうからすごい重くなる.

結論


よくわかんないけど,まぁうまくいったからいいや*5

*1:これ,伏線です

*2:って確かベジータが大猿になったときに悟空が言ってた

*3:気力が残ってたらそのうち画像をアップする

*4:パソコンより高いパソコンソフトの代表,類義語にSASS

*5:とてもよくない傾向