0
在R基本圖中,外邊距可以通過oma()
來控制,我不知道ggplot2
中是否有類似的功能來做到這一點。如下圖所示,圖形和頁面邊緣之間幾乎沒有空格。非常感謝。 如何在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對象。去的身影。只需添加'+主題(plot.margin =保證金(30,30,30,30))'(或任何空間,你需要) – hrbrmstr
非常感謝。但我所要求的是如何爲整個圖形設置外邊距(類似於R基本圖中的'oma'),而不是子圖。 –
這有點破解,但是'gridExtra :: grid。安排(plot1,plot2,plot1,plot1,向左=「」,top =「」,bottom =「」,right =「」)'會給你一些外緣...... –