【发布时间】:2019-11-24 01:06:41
【问题描述】:
奇怪的问题,但我似乎找不到一种巧妙的方法来管理它!我在 R 中制作了许多科学数字——每个都有一大堆图(通过 ggplot2)堆叠在一起(plot_grid),沿着相同的 x 轴匹配。到目前为止一切顺利,我几乎准备好导出和润色 illustrator 中的所有数字。
最后一步是对每个图施加限制,以使堆栈中每个图之间的空间尽可能窄。我已经通过以下方式完成了它:
test1<-ggplot(mtcars, aes(mpg, hp)) +
geom_line() +
theme(plot.margin = unit(c(0, 0, 0, 0), "cm"),
axis.line.y.right = element_line(colour = "black", size=1),
axis.line.y.left = element_line(colour = "black", size=1),
axis.ticks.y.right = element_blank(),
axis.text.y.right = element_blank(),
axis.title.x = element_blank(),
axis.ticks.x = element_blank(),
axis.line.x.bottom = element_blank(),
axis.text.x =element_blank(),
axis.line = element_line(colour = "black", size =1),)
test2<-ggplot(mtcars, aes(mpg, drat)) +
geom_line() +
theme(plot.margin = unit(c(0, 0, 0, 0), "cm"),
axis.line.y.right = element_line(colour = "black", size=1),
axis.line.y.left = element_line(colour = "black", size=1),
axis.ticks.y.right = element_blank(),
axis.text.y.right = element_blank(),
axis.title.x = element_blank(),
axis.ticks.x = element_blank(),
axis.line.x.bottom = element_blank(),
axis.text.x =element_blank(),
axis.line = element_line(colour = "black", size =1),)
test3<-ggplot(mtcars, aes(mpg, wt)) +
geom_line() +
theme(plot.margin = unit(c(0, 0, 0, 0), "cm"),
axis.line.y.right = element_line(colour = "black", size=1),
axis.line.y.left = element_line(colour = "black", size=1),
axis.ticks.y.right = element_blank(),
axis.text.y.right = element_blank(),
axis.title.x = element_blank(),
axis.ticks.x = element_blank(),
axis.line.x.bottom = element_blank(),
axis.text.x =element_blank(),
axis.line = element_line(colour = "black", size =1),)
test<- plot_grid(test1, test2, test3, ncol=1, align="v", rel_heights = c(1,1,1))
test
这看起来像是我在主题位中所做的。不确定——但我们将不胜感激!
【问题讨论】:
-
你能发一个reproducible example吗?如果没有数据、代码或输出,我们就只能凭想象来了解这些图表是什么以及您要做什么。
grid_plot是什么? -
嗨,卡米尔——感谢您的回复。根据工作规则,我实际上无法发布任何数据,代码或输出,但我可能可以更好地解释!我有 7 个用 ggplot 制作的简单线图,plot_grid(哎呀!)是我用来将它们垂直堆叠成一个图形的工具。这 7 个被排列在这个“堆栈”中,因为它们之间的 x 轴是一致的。将其视为双 y 图,但并非像大多数双 y 图那样难以阅读。我想通过删除 ggplot 在绘图周围自动生成的任何类型的缓冲区来限制 7 个绘图之间的空间。
-
点击我发布的链接。您不必发布您的确切数据——您可以制作虚拟数据或使用随常用软件包提供的数据。但是现在我们可以用来帮助您的东西很少,或者这会对未来的用户有所帮助
-
已编辑!这应该足以理解问题了吗?