在下面的图中,我想在x轴上的位置3创建一个空白区域。换句话说,当
wt>=3
时,我希望点和坐标轴标度向右移动一些任意选择的值。这样是否有意义?ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()
我可以简单地修改我的数据,并将0.5添加到mpg
的每个值中,其中wt>=3
,但这并不能解决x轴的问题。
我可能会重述我的问题,即在下面的图表中,我希望垂直线不重叠数据,因此所有数据(以及x轴)都应向左移动垂直线的厚度。
ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point() + geom_vline(xintercept=3, size=30)
我在考虑使用facet_wrap
或者viewport
。也许可以将每个mpg
的值都加上一个常数,其中wt>=3
,然后手动设置x轴的值。
gap.plot(mtcars$wt,mtcars$mpg,gap=c(2.99999,3.000001),gap.axis="x")
。但我没有尝试更改间隙大小。 - Jotamtcars$foo<-ifelse(mtcars$wt >=3 ,c("over 3"),c("under 3"))
mtcars$foo<-factor(mtcars$foo, levels=c("under 3","over 3"))
ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point() + facet_wrap(~foo,scales="free_x")
。虽然还需要一些工作。 - Jota