私は混乱しています。タイトル、ラベル、その他のプロット内のテキストのフォントサイズを大きくするための正しい方法は何ですか?
例えば
x <- rnorm(100)
hist(x, xlim=range(x), xlab= "Variable Label",
ylab="density", main="Title of plot", prob=TRUE, ps=30)
ps
引数はフォントサイズを変更しません(ただし、?par
のRヘルプでは「テキストのポイントサイズ(シンボルではありません)」という意味です。
hist
のようなプロット関数からフォントサイズの変更を分離することも可能ですか?
あなたはcex=1.5
引数のようなフォントを150パーセントで拡大縮小することを望みます。 cex.lab
、cex.axis
、...もあるのでhelp(par)
を見てください。
したがって、既存の議論をまとめると、
cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5
あなたのプロットでは、1.5は2、3などであり、1の値はデフォルトでフォントサイズを大きくします。
x <- rnorm(100)
hist(x, xlim=range(x),
xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE)
hist(x, xlim=range(x),
xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE,
cex=1.5)
hist(x, xlim=range(x),
xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE,
cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5)
"cex"は、プロットがテキストで作成されたときに状況が変わることに注意してください。たとえば、凝集型階層クラスタリングのプロットは、次のとおりです。
library(cluster)
data(votes.repub)
agn1 <- agnes(votes.repub, metric = "manhattan", stand = TRUE)
plot(agn1, which.plots=2)
通常のサイズのテキストでプロットを作成します。
そしてplot(agn1, which.plots=2, cex=0.5)
はこれを生成します:
試行錯誤により、フォントサイズを設定するには以下が必要であると判断しました。
cex
はhist()
では機能しません。座標軸上の数字にはcex.axis
を、ラベルにはcex.lab
を使用してください。cex
はaxis()
でも機能しません。軸上の数字にはcex.axis
を使用してください。hist()
を使用してラベルを設定する代わりに、mtext()
を使用してラベルを設定できます。 cex
を使用してフォントサイズを設定できますが、値1を使用すると実際にはフォントがデフォルトの1.5倍に設定されます!!!cex=2/3
を使用する必要がありますデフォルトのフォントサイズを取得します。少なくとも、これはPDF outputを使った、Mac OS X用のR 3.0.2の下のケースです。pdf()
のpointsize
を使用して、PDF出力のデフォルトのフォントサイズを変更できます。私は、Rが(a)その文書が行うべきことを実際に行うこと、(b)期待されるように振る舞うことを期待するのは、論理的すぎる可能性があると思います。
軸ラベルを小さくしたいが、他のものはすべて同じサイズのままにしたいとき、私はこれに出会いました。私のために働いたコマンドは、置くことでした:
par(cex.axis=0.5)
Plotコマンドの前忘れないでください。
par(cex.axis=1.0)
プロット後にフォントがデフォルトのサイズに戻ることを確認します。
完璧を期すために、cex = 1.5
を使用してテキストを150%拡大するには、これが完全な解決策です。
cex <- 1.5
par(cex.lab=cex, cex.axis=cex, cex.main=cex)
plot(...)
par(cex.lab=1, cex.axis=1, cex.main=1)
ボイラープレートを減らすために、このようなものをラップすることをお勧めします。
plot_cex <- function(x, y, cex=1.5, ...) {
par(cex.lab=cex, cex.axis=cex, cex.main=cex)
plot(x, y, ...)
par(cex.lab=1, cex.axis=1, cex.main=1)
invisible(0)
}
これを次のように使えます。
plot_cex(x=1:5, y=rnorm(5), cex=1.3)
...
はRでは省略記号として知られており、追加のパラメーターを関数に渡すために使用されます。したがって、それらは一般的にプロットに使用されます。したがって、次のように動作します。
plot_cex(x=1:5, y=rnorm(5), cex=1.5, ylim=c(-0.5,0.5))
Labels = TRUEを設定しているときにヒストグラムのラベルのフォントを大きくしたい場合
bp=hist(values, labels = FALSE,
main='Histogram',
xlab='xlab',ylab='ylab', cex.main=2, cex.lab=2,cex.axis=2)
text(x=bp$mids, y=bp$counts, labels=bp$counts ,cex=2,pos=3)