我想使用 ggplot 和生成一些图facet_grid
并将绘图保存为对象。我的问题是我还想将每个子组(即每个方面)单独保存为一个对象。我现在的问题是你是否可以从中提取一个方面facet_grid
并将其保存为对象?这是一些简单的代码:
library(ggplot2)
ggplot(data = mtcars, aes(x = disp, y = mpg)) +
geom_point() +
facet_grid(. ~ am)
现在我想制作两个对象 - 一个用于am=0
和一个用于am=1
.
我不确定为什么您不使用子集化,但您可以从构面网格中提取各个构面。
library(ggplot2)
library(grid)
library(gtable)
p1 = ggplot(data = mtcars, aes(x = disp, y = mpg)) +
geom_point() +
facet_grid(. ~ am)
g1 = ggplotGrob(p1)
# Rows and columns can be dropped from the layout.
# To show the layout:
gtable_show_layout(g1)
# Which columns (and/or rows) to drop?
# In this case drop columns 5 and 6 to leave am = 0 plot
# Drop columns 4 and 5 to leave am = 1 plot
# am = 0 plot
g1_am0 = g1[,-c(5,6)]
grid.newpage()
grid.draw(g1_am0)
# am = 1 plot
g1_am1 = g1[,-c(4,5)]
grid.newpage()
grid.draw(g1_am1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)