R plot:图例背景大小

Posted

技术标签:

【中文标题】R plot:图例背景大小【英文标题】:R plot: Legend background size 【发布时间】:2021-03-17 04:59:48 【问题描述】:

我正在使用 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")

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

【问题讨论】:

【参考方案1】:

您可以执行以下操作:

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 计算的,因此通过将其设置为文本宽度,您可以在保持字体大小的同时缩小框。

【讨论】:

@@David S 嗨,大卫!感谢您的评论。我成功工作了!但是,我能够修改文本宽度,而不是高度。请看上图(我上传了更新的图)。我以为会有一个类似text.height的函数,但不幸的是它不存在......

以上是关于R plot:图例背景大小的主要内容,如果未能解决你的问题,请参考以下文章

在 R 中添加颜色和气泡大小图例

绘制无边框和白色背景的图例

R语言画图时 图例字体的大小可以改吗

如何在 Plotly 的图中定位图例

如何减小图中图例的大小?

R语言ggplot2可视化:在ggplot2中将图例(legend)移到图内自定义图例所处的位置自定义图例背景图例所处边框的颜色