ggplot 中的多行图表而不使用 facet

multiple row of charts in ggplot without using facet

假设我有一个太宽的图表,我想将其切成两半并将其显示为两个图表,一个使用 x 刻度范围的前半部分,第二个使用第二个一半。有简单的方法吗?

一个例子是 ggplot(diamonds, aes(x=price)) + geom_bar() ,我想要一张图表显示 0 到 20000 的价格范围,而不是上面的行生成的图表,我想要一个价格范围为 0 到 10000 的图表,另一个图表从 10000 到20000以下。它应该看起来像 facet_wrapped 但这里没有不同的变量。

EDIT:在我的实际图表中(不使用 diamonds),我也使用 coord_flip(),这显然会导致一些其他有效尝试出现问题。我很想得到一个也可以与 coord_flip() 一起使用的答案(即:一个图表在左边,另一个在右边,而不是垂直堆叠)

library(ggplot2)
library(gridExtra)
library(data.table) # not necessary, but better.

data(diamonds)
setDT(diamonds)

p1 = ggplot(diamonds[price > 0 & price <= 10000], aes(x=price)) + geom_bar()
p2 = ggplot(diamonds[price > 10000 & price < 20000], aes(x=price)) + geom_bar()

grid.arrange(p1, p2)