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

时间:2017-08-25 23:04:05

标签: r ggplot2

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

too many grid lines!

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())

1 个答案:

答案 0 :(得分:5)

您可以使用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())

enter image description here