LoginSignup
5
5

More than 5 years have passed since last update.

グラフを描画しようとすると大量のwarningが出る

Last updated at Posted at 2016-12-25

mac版のRでグラフを描画しようとするとwarningが大量に出る. グラフは描画されるけど気持ち悪いので原因調査.

> screeplot(maker.pca)
 28 件の警告がありました (警告を見るには warnings() を使って下さい) 
> warnings()
 警告メッセージ: 
1: In doTryCatch(return(expr), name, parentenv, handler) :
   フォントファミリー "Arial" に対してフォントが見つかりません 
2: In doTryCatch(return(expr), name, parentenv, handler) :
   フォントファミリー "Arial" に対してフォントが見つかりません 
...以下省略

フォントファミリーが足りていない.

mac版のRでグラフを描画するときはQuartzという描画エンジンが使われるらしい. 使えるフォントセットを確認してみる.

> quartzFonts()
$serif
[1] "Times-Roman" "Times-Bold"     "Times-Italic"      "Times-BoldItalic"

$sans
[1] "Helvetica"   "Helvetica-Bold" "Helvetica-Oblique" "Helvetica-BoldOblique"

$mono
[1] "Courier"     "Courier-Bold"   "Courier-Oblique"   "Courier-BoldOblique"

"Arial"が無い! 代わりにここにあるフォントセットを使えばwaringは消えるはず!

> screeplot(maker.pca, family="mono")

waring消えた!すっきり!

ついでに新しいフォントファミリーを定義する方法. フォント名は"Font Book.app"で各フォントのPostScript名を調べれば良い.

## 新しいフォントファミリー optima を作る. 
## フォントファミリー名とレギュラー、ボールド、イタリック、ボールドイタリックの4つの書体を指定する
> quartzFonts(optima = c("Optima-Regular", "Optima-Bold", "Optima-Italic", "Optima-BoldItalic")) 

Optimaだと日本語が表示されないのでヒラギノにしてみた. イタリックはナシ!

> quartzFonts(hiragino = c("HiraginoSans-W0", "HiraginoSans-W5", "HiraginoSans-W0", "HiraginoSans-W5"))
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5