我希望彼此重叠的两个地块具有相同的大小。问题在于刻度线标签的长度不同,因此绘图未对齐。仅缩小字体不是解决方案,因为它对读者不友好。必须有一种方法可以说明ggplot中应有多大的图。 我只想手动控制图的大小,而不管是否要使用条形图或条形图和箱线图等。我该如何做到这一点?
library(ggplot2)
library(grid)
library(gridExtra)
df1 <- data.frame(a = as.factor(1:20), b = runif(20, 500000, 900000))
df2 <- data.frame(a = as.factor(1:20), c = rnorm(2000))
plot1 <- ggplot(df1, aes(x = a, y =b)) + geom_bar(stat = "identity")
plot2 <- ggplot(df2, aes(x = a, y =c)) + geom_boxplot()
grid.arrange(plot1,
plot2,
ncol = 1)
答案 0 :(得分:0)
正如提到的评论之一,软件包cowplot
具有您需要的功能。
library(ggplot2)
library(cowplot)
df1 <- data.frame(a = as.factor(1:20), b = runif(20, 5, 9))
df2 <- data.frame(a = as.factor(1:20), b = runif(20, 50000, 90000))
plot1 <- ggplot(df1, aes(x = a, y =b)) + geom_bar(stat = "identity")
plot2 <- ggplot(df2, aes(x = a, y =b)) + geom_bar(stat = "identity")
#see ?plot_grid for more details
plot_grid(plot1,plot2,ncol = 1, align = "v", rel_heights = c(.7, .3))
由reprex package(v0.2.1)于2019-01-12创建