我已经在R中使用ggplot2
创建了一些图。现在,我想使用grid.arrange
合并两个图,但是在使用此函数后,我只得到空图。
我也试过cowplot
库,但我得到了同样的问题。
## Pipe age distribution in the initial pipe network conditions
pipe_age_0 = 2019 + net.ini$time.construction
pipe_age = 2019 - pipe_age_0
p6 <- ggplot(net.ini, aes(x = pipe_age))
p6 + geom_histogram(binwidth = 1,
col="black",
size=0.1,
fill = "lightgrey") +
scale_x_continuous(breaks = seq(from = 0, to = 140, by = 10)) +
labs(y="Count", x="Age [Years]") +
theme_bw(base_size = 12, base_family = "")
## Density stacked with histogram count
p7 <- ggplot(net.ini, aes(x = pipe_age))
p7 + geom_histogram(aes(y = ..density..),
binwidth = 1,
col="black",
size=0.1,
fill = "lightgrey") +
geom_density(alpha = 0.1, fill="#FF6666") +
scale_x_continuous(breaks = seq(from = 0, to = 140, by = 10)) +
labs(y="Density", x="Age [Years]") +
theme_bw(base_size = 12, base_family = "")
grid.arrange(p6, p7)
我希望有两个图形,一个在另一个上面,或者一个在另一个旁边,使用grid.arrange
。但是由于某种原因,我一直得到空图。这是图p6和p7的样子,第三个是grid.arrange
,空图:
2条答案
按热度按时间lo8azlld1#
不知道为什么,但是只有在我们把它赋值给变量之后,它才能工作。
所以试试这样的方法:
适用于
cowplot
和grid.arrange
n8ghc7c12#
我也有同样的问题。我知道你4年前问过这个问题,但我会分享什么帮助了我,以防其他人仍然经历类似的事情。
唯一帮助我解决空图问题的是调整我编写的创建图的代码。不要将ggplot行作为自己的行,而是与下面包含图规格的行合并起来。例如,您的p6图应该看起来像这样:
正如你所看到的,唯一的区别是我删除了第二个“p6”,并添加了一个加号来连接这些线。在我用自己的作业这样做之后,它起作用了。