Symfoware

Symfowareについての考察blog

R言語 グラフに使用するフォントファイルを指定する

Debian 7にR 3.1.1をインストールして、グラフの出力を試してみます。
R言語で日本語の凡例を表示すると、あまり綺麗な表示になりません。

例えばこんなサンプル。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # plot関数でデータを配置
  3. plot(1:10, 1:10, type="o", xlab="これは日本語")
  4. # 凡例を表示
  5. legend("topleft",
  6.     legend=c("凡例1", "凡例2", "凡例3"),
  7.     pch=c(1,2,3),
  8.     lty=c(1,2,3),
  9.     col=c("red", "blue", "green"),
  10.     ncol=2,
  11.     cex=2.5
  12.     )
  13. graphics.off()



480_01.png


TrueTypeのIPAフォントを使用する方法を調べてみました。



フォントファイルのインストール



最初は使用するフォントファイルを指定する方法を調べていたのですが
結局見つからず。

ヒントになったのはこちらです。

Rにおける作図時のフォント設定を極める
How to use your favorite fonts in R charts

システムにインストールされているフォントなら使える模様。
まず、IPAフォントをインストールします。
Debian 7にIPAフォントをインストールする

簡単に手順だけ。
フォントファイルをダウンロードして解凍。
/usr/share/fonts/truetype/に解凍したフォルダごとコピー。
fc-cacheでフォントキャッシュを更新します。


# wget -O IPAfont00303.zip http://ipafont.ipa.go.jp/ipafont/IPAfont00303.php
# unzip IPAfont00303.zip
# mv IPAfont00303 /usr/share/fonts/truetype/
# fc-cache




fc-listでフォントの一覧を表示してみると、ちゃんとIPAフォントが認識されています。


# fc-list
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf: DejaVu Serif:style=Book
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
/usr/share/fonts/truetype/unifont/unifont.ttf: unifont:style=Medium
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/truetype/IPAfont00303/ipagp.ttf: IPA Pゴシック,IPAPGothic:style=Regular
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold
/usr/share/fonts/truetype/IPAfont00303/ipamp.ttf: IPA P明朝,IPAPMincho:style=Regular
/usr/share/fonts/truetype/IPAfont00303/ipag.ttf: IPAゴシック,IPAGothic:style=Regular
/usr/share/fonts/truetype/IPAfont00303/ipam.ttf: IPA明朝,IPAMincho:style=Regular
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book




これで下準備は整いました。



extrafontパッケージのインストール



※このオペレーションは不要かもしれません。
システムフォントにインストールするだけでOKかも。

コンソールでRを起動します。


install.packages("extrafont")



を実行して、extrafontパッケージをインストール。

480_02.png


パッケージのダウンロードミラーの選択です。
近場のサイトの番号を選択します。
今回は52: Japan (Tsukuba) を選択しました。

480_03.png


こんな感じで、パッケージのダウンロードが実行されます。

480_04.png


パッケージのインストールが終わったら、ライブラリのロードと
フォントのインポートを実行します。


library(extrafont)
font_import()



480_05.png


fonts()を実行すると、使用可能なフォントの一覧が表示されます。


> fonts()
[1] "DejaVu Sans"     "DejaVu Sans Mono" "DejaVu Serif"     "unifont"        
[5] "IPAGothic"        "IPAMincho"        "IPAPGothic"     "IPAPMincho"



480_06.png

これでフォントのインポートが出来ました。





使用するフォントの指定



parにfamilyを指定すれば、使用するフォントが変更されます。
IPAPMinchoを使用するよう指定してみます。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. # IPA明朝を使用するよう指定
  3. par(family="IPAMincho")
  4. # plot関数でデータを配置
  5. plot(1:10, 1:10, type="o", xlab="これは日本語")
  6. # 凡例を表示
  7. legend("topleft",
  8.     legend=c("凡例1", "凡例2", "凡例3"),
  9.     pch=c(1,2,3),
  10.     lty=c(1,2,3),
  11.     col=c("red", "blue", "green"),
  12.     ncol=2,
  13.     cex=2.5
  14.     )
  15. graphics.off()




綺麗なフォントで凡例や軸名称が表示できました。

480_07.png



【参考URL】

Rにおける作図時のフォント設定を極める

How to use your favorite fonts in R charts

R言語 掲載記事のまとめ


関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/10/09(木) 00:12:26|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<R言語 指定範囲に矩形を描画し強調する | ホーム | Debian 7にIPAフォントをインストールする>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1506-e3952c93
この記事にトラックバックする(FC2ブログユーザー)