【问题标题】:How to set the outer margins in ggplot2? [duplicate]如何在ggplot2中设置外边距? [复制]
【发布时间】:2016-08-24 10:32:51
【问题描述】:

在R基本情节中,可以通过oma()控制外边距,不知道ggplot2中是否有类似的功能可以做到这一点。如下图所示,图形与页面边缘之间几乎没有空隙。非常感谢。

请注意,我不是在询问每个子图之间的设置边距(这可以通过 ggplot2 中的plot.margin= 完成)。我要问的是如何设置整个图形的外边距(类似于 R 基本图中的oma)。谢谢。

require(cowplot)
require(ggplot2)
x=1:50
y=x^2
z=rep(c("p","sp","n","sn","nt"),each=10)
mydata= data.frame(x,y,z)
plot1=ggplot(mydata,aes(x=x,y=y,group=z))+geom_point(aes(shape=z,color=z),size=1)+scale_shape_manual(values=c(19,1,19,17,17))+scale_color_manual(values=c("blue","black","red","blue","red"))
plot2=ggplot(mydata,aes(x=x,y=y,group=z))+geom_point(aes(shape=z,color=z),size=3)+scale_shape_manual(values=c(19,1,19,17,17))+scale_color_manual(values=c("blue","black","red","blue","red"))
plot3=ggplot(mydata,aes(x=x,y=y,group=z))+geom_point(aes(shape=z,color=z),size=5)+scale_shape_manual(values=c(19,1,19,17,17))+scale_color_manual(values=c("blue","black","red","blue","red"))
plot4=ggplot(mydata,aes(x=x,y=y,group=z))+geom_point(aes(shape=z,color=z),size=7)+scale_shape_manual(values=c(19,1,19,17,17))+scale_color_manual(values=c("blue","black","red","blue","red"))
plot_grid(plot1, plot2, plot1,plot1, align='h', labels=c('a', 'b',"c","d"))

【问题讨论】:

  • 嗯。 plot_grid 返回一个 ggplot 对象。去搞清楚。只需添加+ theme(plot.margin=margin(30,30,30,30))(或您需要的任何空间)
  • 非常感谢。但我要问的是如何设置整个图形的外边距(类似于 R 基本图中的oma),而不是子图。
  • 这有点小技巧,但gridExtra::grid.arrange(plot1, plot2, plot1,plot1,left="",top="",bottom="",right="") 会给你一些外边距...

标签: r plot ggplot2 cowplot


【解决方案1】:

如果您想继续使用cowplot,可以使用ggdraw() + draw_plot(),如cowplot introduction 底部所示。想法是将每个图的宽度和高度设置为小于其他情况(在本例中为 0.4),并相应地定位图(例如在(0.1, 0.1) 而不是(0, 0):

ggdraw() +
  draw_plot(plot1, .1, .5, .4, .4) +
  draw_plot(plot2, .5, .5, .4, .4) +
  draw_plot(plot3, .1, .1, .4, .4) +
  draw_plot(plot4, .5, .1, .4, .4) +
  draw_plot_label(LETTERS[1:4], 
                  x = c(.1, .5, .1, .5), 
                  y = c(.9, .9, .5, .5), size = 15)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 2011-05-19
    • 2022-10-21
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多