如何使用 ggplot2 删除特定值处的网格线?

djc*_*c55 2 r ggplot2

我有一个图表,需要扩大 x 轴刻度以容纳超过最大值的标签(1 作为 x 轴代表百分比)。

我可以使用limits中的参数来执行此操作scale_x_continuous,但我仍然可以在 1.1 处看到关联的网格线。有什么方法可以只删除这条网格线(由下图中的红色框边框),但保留展开的图?

library(dplyr)
library(ggplot2)

data.frame(val1 = seq(0, 1, 0.1),
           val2 = seq(0, 1, 0.1)) %>% 
  ggplot(aes(x = val1, y = val2)) +
  scale_x_continuous(limits = c(0, 1.05),
                     breaks = seq(0, 1, 0.1))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

ste*_*fan 5

这也可以通过设置限制次要中断的范围来实现:

library(dplyr)
library(ggplot2)

data.frame(val1 = seq(0, 1, 0.1),
           val2 = seq(0, 1, 0.1)) %>% 
  ggplot(aes(x = val1, y = val2)) +
  scale_x_continuous(limits = c(0, 1.05),
                     breaks = seq(0, 1, 0.1),
                     minor_breaks = seq(0, 1, 0.05))
Run Code Online (Sandbox Code Playgroud)

reprex 包(v2.0.0)于 2021-06-07 创建