【发布时间】:2018-01-18 22:12:04
【问题描述】:
我想将三个子图组合成一个图,分面是一种自然的方式。然而,这些子图之一会更容易/更自然地阅读反向 x 轴(而我想不理会其他子图)。有没有办法使用 facet_grid() 或 facet_wrap() 来完成这个?
我考虑过的另一种选择是 grid.arrange(),我遇到的主要问题是让它根据绘图区域(在轴内)对齐子图,而不是基于边缘的图像。 (我的轴标题和标签大小不一样,所以默认行为相当难看。)
编辑添加了 MWE,其中包含一些上下文数据。在这里,由于对于 beta 和 R 平方子图来说越大越好,因此反转 p 子图的轴会更自然。 (在这种情况下,将 log 转换添加到该比例可能会更好,但我真正的问题不需要那么花哨。)
df <- data.frame(z=c(rep("R-squared",15),rep("p",15),rep("beta",15)),
x=c(runif(15),exp(-runif(15,1,10)),rnorm(15,1,0.5)),
y=rep(letters[1:15],3))
plot <- ggplot(df) + geom_point(aes(x=x,y=y)) + facet_grid(.~z, scales="free_x", switch="x")
【问题讨论】:
-
如果您提供某种最小的reproducible example 以及一些可用于测试和验证可能解决方案的示例数据/代码,那么提供帮助会容易得多。