[解決済み] ggplot2 のフォントを変更する
質問
むかしむかし、私は自分の
ggplot2
フォントは
windowsFonts(Times=windowsFont("TT Times New Roman"))
. さて、これでは取れませんね。
を設定しようとすると
family=""
で
ggplot2
theme()
, 下記のMWEを異なるフォントファミリでコンパイルすると、フォントの変化が発生しないようです。
library(ggplot2)
library(extrafont)
loadfonts(device = "win")
a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16,
# family="Comic Sans MS"))
# family="CM Roman"))
# family="TT Times New Roman"))
# family="Sans"))
family="Serif"))
print(a)
print("Graph should have refreshed")
Rが警告を返している
font family not found in Windows font database
しかし、私が従っていたチュートリアル(もしまた見つけられたら、ここでリンクを更新します)では、これは正常で問題ないと言っていました。 また、私のグラフがかつてarialかhelviticaタイプのフォントを使用していたため、なぜかこれは一時的に動作していたのです。 これは、移行当初も常に警告が出ていたような気がします。
アップデイト
を実行すると
windowsFonts()
私の出力は
Serif [1] "TT Times New Roman"。
$sans [1] "TT Arial"
$mono [1] "TT Courier New"
しかし、これは私が実行した後
font_import()
ということで、私のフォントは正しい場所に保存されていないと結論付けるしかないですね。 そのため
font_import()
リクエストで実際にライブラリを読み込んでいます。
LocalLibraryLocation <- paste0("C:\\Users\\",Sys.getenv("USERNAME"),"\\Documents","\\R\\win-library\\3.2");
.libPaths(c(LocalLibraryLocation, .libPaths()))
解決方法は?
初期化ステップを見落としただけだと思います。
どのようなフォントが利用可能かは、コマンド
windowsFonts()
. 例えば私のは、これを見始めたらこんな感じです。
> windowsFonts()
$serif
[1] "TT Times New Roman"
$sans
[1] "TT Arial"
$mono
[1] "TT Courier New"
extraFont パッケージをインストールし
font_import
こんな感じです(5分くらいかかったような)。
library(extrafont)
font_import()
loadfonts(device = "win")
このほかにも、ここに書ききれないほど多くの製品がありました。
そこで、あなたのコードを試してみました。
library(ggplot2)
library(extrafont)
loadfonts(device = "win")
a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16, family="Comic Sans MS"))
print(a)
ということになります。
更新情報
必要なフォント名を
family
のパラメータは
element_text
を以下のコードで実行します。
> names(wf[wf=="TT Times New Roman"])
[1] "serif"
そして
library(ggplot2)
library(extrafont)
loadfonts(device = "win")
a <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme(text=element_text(size=16, family="serif"))
print(a)
関連
-
[解決済み】ベースグラフィックスでプロットエリアの外側に凡例をプロットする?
-
[解決済み】rbind エラー。"名前が以前の名前と一致しない"
-
[解決済み】ggplotのエラー。関数型オブジェクトのスケールを自動的に選択する方法がわかりません。
-
[解決済み] lmer エラー: グループ化係数は観測数未満でなければならない
-
[解決済み】Rヒストグラムの範囲エラー:いくつかの'x'がカウントされない; 'break'が'x'の範囲に及ばないかもしれない
-
[解決済み】Rでデータフレームのサブセットをプロットする方法は?
-
[解決済み】エラー - replacement has [x] rows, data has [y].
-
[解決済み】ggplot2でのプロット:「Error: カテゴリ軸のY軸に "Discrete value supplied to continuous scale "と表示される。
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
-
[解決済み] ggplot2 の軸ラベルを回転させ、間隔を空ける
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 'height' はベクトルか行列でなければならない barplot のエラー
-
[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?
-
[解決済み】数学関数への非数値引数
-
[解決済み】library(ggplot2)でエラー:'ggplot2'というパッケージは存在しません。
-
[解決済み] write.tableしようとすると、未実装の型リストが表示される。
-
[解決済み】 colMeans(x, na.rm = TRUE) のエラー : KNN分類では 'x' は数値でなければならない
-
[解決済み】Rはプロットするが、アブラインを描画しない
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?
-
[解決済み】'NULL'型の非(リストまたはベクトル)に適用されるis.na()は何を意味するのか?
-
[解決済み】seq_alongはうまくいくが、seqが意図しない結果を生む例とは?