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

Ric*_*cky 3 r ggplot2

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

一个例子是ggplot(diamonds, aes(x=price)) + geom_bar(),我想要的价格范围是0到10000,而另一个价格在10000到20000之间.它应该看起来像facet_wrapped,但这里没有不同的变量.

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

Hen*_*enk 6

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)
Run Code Online (Sandbox Code Playgroud)

  • grid.arrange(p1,p2,ncol = 2) (2认同)