2015-12-30 17 views
12

いつか、私はフォントをwindowsFonts(Times=windowsFont("TT Times New Roman"))を使って変更して変更しました。今私はこれを取り除くことはできません。ggplot2でフォントを変更する

family=""ggplot2theme()に設定しようとしています。下の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タイプのフォントを使用していたため、これは一点で機能しました。私はこれが初期の移行中でも常に現在の警告であったと思います。

UPDATE

私はwindowsFonts()私の出力は、[1] "TTのTimes New Roman"

$サンセリフ$

で実行する[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())) 

答えて

24

あなたはちょうど私が考える初期化ステップを逃しました。

利用可能なフォントは、windowsFonts()というコマンドで確認できます。

> windowsFonts() 
$serif 
[1] "TT Times New Roman" 

$sans 
[1] "TT Arial" 

$mono 
[1] "TT Courier New" 

パッケージextraFontをintallingと、このような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) 

は、その後、私はあなたのコードを試してみました

enter image description here

更新:あなたはの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) 

利回り:助けを enter image description here

+0

おかげで、そこに半分の方法。 'mono || sans'と' serif'との間の切り替えはできますが、 '' TT Times New Roman''のような実際の名前ではなく、 '' loadFonts '成功しました。私が 'fonts()'を呼び出すと、私は約300のフォントのリストを持っていますが、ローカル環境にインストールされていないので、Windowsデバイスにアクセスできるようになります。それが意味をなさないかどうかはわかりませんが、オリジナルの質問に役立つスニペットを使って更新を提供しようとしました。再度、感謝します! – EngBIRD

+0

これに答えるコードをいくつか追加しました。 –

+0

この名前のスニペットの更新をお寄せいただきありがとうございます。私のインストールが認識する唯一の文字列がファミリであれば、あなたの漫画がどのように正しい外観を生み出しましたか? – EngBIRD

関連する問題