【发布时间】:2016-08-27 16:42:01
【问题描述】:
我想手动(或自动)更改 R 中 ggplot2 图形的多面图的面板布局。我已经看到了对 Facets 的注释和重新排序的解决方案,但不是这个特定问题。这是一个可重现的示例:
library(ggplot2)
plot <- ggplot(diamonds, aes(carat, price)) + facet_wrap(~cut) + geom_point()
如果我现在查看绘图,您会看到空白面分配在绘图网格的右下角。
我要做的就是将空白绘图位置改为左上角,但仍绘制所有其他绘图(只需移动空白绘图位置)。
我试过查看ggplot_build():
plot_build <- ggplot_build(plot)
plot_build$panel$layout
但我不知道如何将空白绘图位置实际移动到正确的行和列。有人有什么想法吗?
【问题讨论】:
-
不应该把右上角的面板移到左下角,而沿着底部的另外两个移到一个面板上吗?无论您以哪种方式阅读,下面答案中的面板都是乱序的
-
@rawr 我也想知道最后一列中的 x 轴发生了什么。这是最近的 ggplot2 功能吗?
-
@baptiste 如果没有 free_x 比例,它也不会出现在 this 的东西
-
@rawr 我接受了答案,因为它向我展示了如何移动面板,即使它没有按照明确指定的方式移动所有面板。这只是一个例子,解决方案引导我从我的实际数字中得到正确的输出。