r - ggplot2:在 x 轴上创建一个空白空间

标签 r graphics plot ggplot2

在下图中,我想在 x 轴位置 3 处创建一个空白空间。换句话说,我希望 wt>=3wt>=3 时的轴刻度被任意选择的值移动到右侧。有道理吗?

ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()

enter image description here

我可以简单地修改我的数据并将 0.5 添加到 mpg 的每个值,其中 wt>=3 但它没有解决 x 轴的问题.

我可能会改写我的问题,在下图中我希望垂直线不与数据重叠,因此所有数据(以及 x 轴)都应该向左移动厚度垂直线。

ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point() + geom_vline(xintercept=3, size=30)

enter image description here

我在考虑 facet_wrapviewport。可能类似于为 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))

enter image description here

关于r - ggplot2:在 x 轴上创建一个空白空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20151102/

相关文章:

r - 在 R 中,将数据框对角线转换为行

graphics - 在堆叠格子条形图中显示值

R:layout() 影响绘图区域的边距大小

matlab - 如何在 MATLAB 中设置绘图的默认线型?

r - 将重复的字母转换为数字

r - 使用 x 轴上的日期定位 geom_vline

r - 通过 environment.yml 文件使用 conda 安装 R 包

c# - 降低位图质量会产生 OutOfMemoryException

java - 在 JFrame 上制作透明的 JPanel

javascript - 如何正确缩放 d3 中的图表?