更改图例中的字体大小

时间:2016-04-25 13:32:45

标签: r plot visualization

我的情节中有一个传奇,但我正在尝试增加字体大小以使其适合图例框。当我尝试按下面的定义增加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

3 个答案:

答案 0 :(得分:10)

第一种方法:

尝试设置字体大小,然后绘制图例。

 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,同时为图例调用中的cex 内部尝试不同的值。请务必删除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

答案 1 :(得分:3)

您可以使用cex来确定字体大小,请使用bty =&#39; n&#39;若要指示图例周围没有线条,则使用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))

答案 2 :(得分:1)

我认为你可以尝试使用 图例中的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)