How do I leave the graph centralized by ggplot2

此生再无相见时 提交于 2020-05-14 14:21:20

问题


I have following commands by cowplot

require(cowplot);
tiff('./solution/AGM2.tiff', height = 18,width = 25, units = 'in',res = 60)

plot_grid(a28 + theme(axis.title.y = element_text(size =40),
                      axis.title.x=element_text(size =40),
                      axis.text.x=element_text(size =35),
                      axis.text.y=element_text(size =40),
                      title=element_text(size = 30),
                      legend.text=element_text(size = 30)),
          a33 + theme(axis.title.y = element_text(size =40),
                      axis.title.x=element_text(size =40),
                      axis.text.x=element_text(size =35),
                      axis.text.y=element_text(size =40),
                      title=element_text(size = 30),
                      legend.text=element_text(size = 30)),
          a61 + theme(axis.title.y = element_text(size =40),
                      axis.title.x=element_text(size =40),
                      axis.text.x=element_text(size =35),
                      axis.text.y=element_text(size =40),
                      title=element_text(size = 30),
                      legend.text=element_text(size = 30)),
          align = 'h', nrow=2, ncol = 2,hjust=0.5,vjust=0.5)

dev.off()

And got the following graph

But I would like to leave the graph centralized, specifically the third figure (MUFAt) of the graph. Can someone please help me?


回答1:


Using cowplot you can arrange you graphs not only using a grid, but also specifying where to draw each individual graph using draw_plot():

library(ggplot2)
library(cowplot)

# theme is repeated for each plot
my_theme <- theme(axis.title.y = element_text(size = 40),
                  axis.title.x = element_text(size = 40),
                  axis.text.x = element_text(size = 35),
                  axis.text.y = element_text(size = 40),
                  title = element_text(size = 30),
                  legend.text = element_text(size = 30))

# Dummy plots
g1 <- ggplot(iris, aes(x = Sepal.Length, y = Petal.Length, color = Species)) +
    geom_point(size = 5, show.legend = F) +
    my_theme

g2 <- ggplot(iris, aes(x = Petal.Width, y = Petal.Length, color = Species)) +
    geom_point(size = 5, show.legend = F) +
    my_theme

g3 <- ggplot(iris, aes(x = Sepal.Length, y = Petal.Length, color = Species)) +
    geom_smooth(show.legend = F) +
    my_theme


# tiff(height = 18,width = 25, units = 'in',res = 60)
png(height = 18,width = 25, units = 'in',res = 60)    

# Use x, y, height and width to customize each plot
ggdraw() +
    draw_plot(g1, x = 0, y = .5, height = .5, width = .5) +
    draw_plot(g2, x = .5, y = .5, height = .5, width = .5) +
    draw_plot(g3, x = .25, y = 0, height = .5, width = .5)

dev.off()




回答2:


alternatively,

gridExtra::grid.arrange(ggplot(),ggplot(),ggplot(), 
                        layout_matrix=rbind(c(1,1,2,2),c(NA,3,3,NA)))



来源:https://stackoverflow.com/questions/42685485/how-do-i-leave-the-graph-centralized-by-ggplot2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!