在下图中,我想在 x 轴位置 3 处创建一个空白空间。换句话说,我希望 wt>=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 轴的值。
最佳答案
不完全确定你在找什么,我在自己的情节中看到奇怪的轴时感到困惑......像这样吗?
mtcars$wt2 <- with(mtcars, ifelse(wt > 3, wt+1, wt))
ggplot(mtcars, aes(x = wt2, y = mpg)) +
geom_point() +
annotate("rect", xmin = 3, xmax = 4, ymin = 0, ymax = 35, alpha = 0.2) +
scale_x_continuous(breaks = round(mtcars$wt2), label = round(mtcars$wt))
关于r - ggplot2:在 x 轴上创建一个空白空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20151102/