R plot:图例背景大小

R plot: Legend background size

我正在使用 R 绘制绘图(特别是散点图),并注意到图例的背景大小不必要地大(如下所示):

有什么办法可以缩小面积吗?

我尝试更改cex,但它不仅减小了面积,而且还减小了字体大小。我想保持字体大小,但减少图例区域。

为了以防万一,附上我用过的图例的代码:

legend(x="bottomleft", legend = c("Survived (0)", "Died (1)"), 
         col=c(1:length(levels(Noadr.for.plot2$Death))), pch = c(19, 17),
         y.intersp = 0.4,
         bg = "gray")

[更新] 在这里,修改后的情节。我能够修改文本宽度,但不能修改高度(如下所示):

您可以执行以下操作:

attach(mtcars)
plot(wt, mpg, main="Scatterplot Example",
     xlab="Car Weight ", ylab="Miles Per Gallon ", pch=19)
# op <- par(cex = 1)

text = c("Survived (0)", "Died (1)")
cex_val = 1

legend(x="bottomleft", legend = text,
       pch = c(19, 17), cex=cex_val,
       y.intersp = 1,
       bg = "gray",
       text.width = strwidth(text)[1]*cex_val)

部分图例宽度由您使用的标签的最长宽度决定,这是通过 strwidth 计算得出的,因此通过将其设置为文本宽度,您可以在保持字体大小的同时缩小方框。