R中的迴圈多圖處理技巧

weixin_34054866發表於2018-12-14

1.製造一些圖

製造一些圖片,為後續的操作做準備

library(ggplot2)

# This example uses the ChickWeight dataset, which comes with ggplot2
# First plot
p1 <- ggplot(ChickWeight, aes(x=Time, y=weight, colour=Diet, group=Chick)) +
    geom_line() +
    ggtitle("Growth curve for individual chicks")

# Second plot
p2 <- ggplot(ChickWeight, aes(x=Time, y=weight, colour=Diet)) +
    geom_point(alpha=.3) +
    geom_smooth(alpha=.2, size=1) +
    ggtitle("Fitted growth curve per diet")

# Third plot
p3 <- ggplot(subset(ChickWeight, Time==21), aes(x=weight, colour=Diet)) +
    geom_density() +
    ggtitle("Final weight, by diet")

# Fourth plot
p4 <- ggplot(subset(ChickWeight, Time==21), aes(x=weight, fill=Diet)) +
    geom_histogram(colour="black", binwidth=50) +
    facet_grid(Diet ~ .) +
    ggtitle("Final weight, by diet") +
    theme(legend.position="none")        # No legend (redundant in this graph)    

圖片列表

使用ggarrange函式進行合併,可指定列和行

library(ggpubr)
plist <- list(p1, p2, p3, p4)
do.call("ggarrange", c(plist, ncol=2, nrow=2))
3014937-b778a45804141855.png

使用一些其他的也可以例如cowplot的函式和grid.arrange函式,但是我更加喜歡ggarrange.

相關文章