如何保留所有刻度线,但删除x轴上的大多数网格线?

cor*_*e r 4 r ggplot2

假设我想使用ggplot创建一个类似下面指定的图,但是我想保留x轴上的所有刻度线(对于每个整数),但只显示5,10,15,20和5的网格线25.如何修改代码以删除无关的网格线?

网格线太多了!

ggplot(cars, aes(x = speed, y = dist)) + 
geom_point() + 
scale_x_continuous(breaks = seq(1, 25, 1), 
                   limits = c(1, 25),
                   labels = seq(1, 25, 1)) + 
theme(panel.grid.minor.x = element_blank())
Run Code Online (Sandbox Code Playgroud)

eip*_*i10 7

您可以使用theme语句删除所有网格线,但随后使用创建新的网格线geom_vline.例如:

ggplot(cars, aes(x = speed, y = dist)) + 
  geom_vline(xintercept=seq(0,25,5), colour="white") +
  geom_point() + 
  scale_x_continuous(breaks=1:25, limits=c(1,25)) +   
  theme(panel.grid.minor.x = element_blank(),
        panel.grid.major.x = element_blank())
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述