gpt4 book ai didi

r - 在 R 中使用 ggplot 包制作的图中裁剪额外的空白区域

转载 作者:行者123 更新时间:2023-12-04 09:26:07 24 4
gpt4 key购买 nike

我想裁剪在 ggplot 中绘制绘图后产生的额外空白。

我有以下一段代码,

    p1 <- ggplot(d2, aes_string(x=names(sameTLM_df)[1],y= "value")) + 
geom_point(aes(color = variable), size = 1)+
theme_bw()+
theme(legend.text=element_text(size=18), legend.title=element_text(size=18))+
theme(axis.text=element_text(size=20)) +
theme(axis.title=element_text(size=24,face="bold")) +
scale_color_discrete(name = "Title", labels = c("1","2","3","4","5","6","7","8","9")) + labs(x = "x", y = "y")+
guides(colour = guide_legend(override.aes = list(size=4)))

产生这样的情节,

enter image description here

我想裁剪绘图周围的白色背景并将图例中的列数更改为 2,因此我使用以下代码,
p2 <- p1 + guides(col = guide_legend(ncol = 2)) + theme(plot.background = element_rect(fill = NULL))

这导致了这样的情节,

enter image description here

然而,“空白”(我将背景颜色设为黄色以说明边界和绘图之间的空间)没有被删除,当列数更改为 2 时,图例列表的大小也发生了变化,我不这样做不需要。有人可以指导我如何在将列更改为 2 并删除图外边界中的额外空白的同时保留图例列表的大小。

谢谢

最佳答案

为了在将图例列数更改为 2 的同时保留图例列表的大小,以下代码有效。必须有ncol=2 override.aes 的括号内以保留图例大小。

+ guides(colour = guide_legend(override.aes = list(size=4),ncol=2))

为了完全去除在 R 中使用 ggplot 制作的绘图周围的空白,这段代码可以完成这项工作,
+theme(plot.margin=unit(c(0,0,0,0),"mm"))

确保包括 library(grid)包裹

关于r - 在 R 中使用 ggplot 包制作的图中裁剪额外的空白区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21027548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com