2016-04-28 3 views
0

プロット1(p = 0.05)」などの名前をプロットするとします。 タイトルは太字のであり、p値はです。イタリック体のです。R別の定型文字を連結

私は内容をプロットした後、手動で行うと同じような何かを行うことができます:私はすることができなかった

title <- (string concatenation here?) 
plot(..., main=title) 

:しかし、それは計算に面倒だ

text(x1, y, "Plot 1", font=2) 
text(x2, y, "(p=0.05)", font=3) 

ようなので、私は何かをしたいと思い座標この問題に関する助けを見つけるので、ここでこの質問を残してください。

ご協力いただきありがとうございます。

答えて

0

font=パラメータではなく、?plotmathという式を使用してフォーマットを行うことをおすすめします。

bold and italic text

注たとえば

plot(c(1,3), c(1,3)) 
text(2,2,expression(bold("Plot 1") ~ (italic("p=.05")))) 

結果としてあなたは簡単にあなたが文字列できるように一緒にpaste()表現することができません。人々は多くの場合、引用符で囲まれた部分の変数にしようとしますが、それを行うには、bquote()またはsubstitute()を使用して式を作成する必要があります。たとえば、

plotname <- "Plot 1" 
pvalue <- paste0("p=", formatC(.04944, digits=2, format="f")) 
text(2,2,bquote(bold(.(plotname)) ~ (italic(.(pvalue))))) 
+0

ありがとう!これは非常に良い出発点です。 "main ="関数のようにテキストを一番上に置く方法をもう一度教えてください。 "text"関数のテキストはプロットレイヤーの背後に置かれるので、y座標を設定しても、テキストはプロットボックスで覆われます。 :( – user4143385

+0

ああ、単に "main ="の後にあなたのソリューションを置くと動作します!:Dもう一度ありがとう! – user4143385

0

非常に簡単です。式をmain =に追加してみてください。このような

x<- seq(6:1) 
y<-c(5,3,77,6,5,1) 
main="title", sub="subtitle" 
plot(x,y, main=expression(paste(bold("Plot1"), italic("(p=0.05)")))) 

enter image description here