web-dev-qa-db-ja.com

凡例のフォントサイズを変更する

プロットに凡例がありますが、凡例ボックスに合うようにフォントサイズを大きくしようとしています。以下に定義されているようにcexを増加させようとすると。ボックスは大きくなりますが、テキストはまだ小さくなります。

コード:

legend(0,16, c("Available vCPUs","Added vCPUs (1 per iteration ) "),col=c('red','black'),cex=0.39,lty=1:1,lwd=2

プロットからの抜粋:

enter image description here

9
user3580316

最初のアプローチ:

凡例をプロットする前に、フォントサイズを設定してみてください。

 x <- y <- rnorm(100, 0, 1)
 plot(x, y, type = "n")

## here you set the font size default to `x`, in this example 0.5
## save defaults in `op`

 op <- par(cex = 0.5)

 legend("topright", legend = "foo legend", pch = 1, bty = "n")

enter image description here

## here you set cexto 1.5
## save new defaults in `op`

 op <- par(cex = 1.5)

 legend("topright", legend = "foo legend", pch = 1, bty = "n")

enter image description here

第二のアプローチ:

pt.cexパラメータを1に、凡例呼び出しのcexinsideに異なる値を試します。 opを忘れずに削除してください。

x <- rnorm(100, 10, 4)
y <- rnorm(100, 10, 4)
plot(x, y, type = "n")

## I tried to feed cex with 1.5 and 0.5. The font size changes while the points remain unchanged.

legend("topleft", "Legend", cex=0.5, pch=1, pt.cex = 1)

enter image description here

10
Worice

Cexを使用してフォントサイズを決定し、bty = 'n'を使用して凡例の周囲に線がないことを示し、rect()を使用してグラフ上に長方形を個別に描画します。例えば:

with(data, legend(-10,7, legend=c("Name_of_Legend"), bty = 'n', col=c("red"), lty=0, pch=20, cex=0.75))
with(data, rect(-10,6.2,-3,7))
3
Kris

y.intersp凡例では、異なるテキスト行の間隔を短くすると、凡例ボックスのサイズを変更せずにテキストサイズを大きくできます。

legend(0,16, c("Available vCPUs","Added vCPUs (1 per iteration )
"),col=c('red','black'),cex=0.39,lty=1:1,lwd=2, y.intersp = 0.3)
1
Ting