ggplot2()和gridExtra() - 如何获得多个地块和单个地块之间的一致性?

我有五个数据帧,df1-df5。ggplot2()和gridExtra() - 如何获得多个地块和单个地块之间的一致性?

我想使用ggplot2()为每个数据框制作五个散点图。我想将四个地块(df1p-df4p)分组在一起,但第五个(df5p)分别是分开。我设法将df1p-df4p分组在一起。问题在于dfp5图的字体和整体外观与联合df1p-df4p图不同。我想要一些统一性,所以我希望df5p图的大小,字体和格式与df1p-df4p分组中的一个图大小相似。

任何帮助将不胜感激。

起点(DF1-DF5):

df1 <- data.frame(var1=c(1.23,4.23,10.32),var2=c(1,6,18.7)) 

df2 <- data.frame(var3=c(3.32,5.34,18.45),var4=c(3.54,9.43,17.34))

df3 <- data.frame(var5=c(3.43,19.32,1.23),var6=c(2.32,19.12,4.23))

df4 <- data.frame(var7=c(4.54,2.23,19.32),var8=c(1.54,6.43,19.4))

df5 <- data.frame(var9=c(5.43,1.23,19.54),var10=c(1.23,8.43,19.9))

当前代码:

library(gridExtra) 

library(ggplot2)

df1p <- ggplot(df1, aes(x=var1, y=var2)) + geom_point(shape=2) + ggtitle("df1 plot")

df2p <- ggplot(df2, aes(x=var3, y=var4)) + geom_point(shape=2) + ggtitle("df2 plot")

df3p <- ggplot(df3, aes(x=var5, y=var6)) + geom_point(shape=2) + ggtitle("df3 plot")

df4p <- ggplot(df4, aes(x=var7, y=var8)) + geom_point(shape=2) + ggtitle("df4 plot")

df5p <- ggplot(df5, aes(x=var9, y=var10)) + geom_point(shape=2) + ggtitle("df5 plot")

df1to4p<- grid.arrange(df1p,df2p,df3p,df4p, ncol=2)

回答:

这里的布局中导致类似大小的地块的方式曲线的一个例子。我也采取了把你的数据帧和情节成列表的自由,以缩短代码:

library(gridExtra) 

library(ggplot2)

# List of data frames

dl = mget(paste0("df",1:5))

# List of plots

pl = lapply(names(dl), function(dat) {

v = names(dl[[dat]])

ggplot(dl[[dat]], aes_string(x=v[1], y=v[2])) +

geom_point(shape=2) +

ggtitle(paste(dat, "plot"))

})

png("4plots.png", 400, 400)

grid.arrange(grobs=pl[1:4], ncol=2)

dev.off()

png("5thPlot.png", 200, 200) 

pl[[5]]

dev.off()

以上是 ggplot2()和gridExtra() - 如何获得多个地块和单个地块之间的一致性? 的全部内容, 来源链接: utcz.com/qa/258453.html

回到顶部