如何控制ggplot2中次要网格线的数量?

时间:2012-10-09 05:50:22

标签: r ggplot2

默认情况下,ggplot2似乎使用的主网格只是主网格的一半。有什么办法可以解决这个问题吗?

例如,我有一个图表,其中x轴是年,而主要的断点是(1850,1900,1950,2000)。这意味着次要网格点位于(1875,1925,1975),多年来有点不直观。如何在每十年出现一次小网格?

1 个答案:

答案 0 :(得分:76)

您可以在minor_breaks()中明确指定scale_x_continuous来执行此操作。请注意,由于我没有在下面的简单示例中指定panel.grid.major,下面的两个图表没有这些(但如果需要,您应该添加它们)。要解决您的问题,您应该将年份指定为序列或仅将年份向量指定为minor_breaks()的参数。

e.g。

 ggplot(movies, aes(x=rating)) + geom_histogram() + 
 theme(panel.grid.minor = element_line(colour="blue", size=0.5)) + 
 scale_x_continuous(minor_breaks = seq(1, 10, 1))

enter image description here

 ggplot(movies, aes(x=rating)) + geom_histogram() + 
 theme(panel.grid.minor = element_line(colour="blue", size=0.5)) + 
 scale_x_continuous(minor_breaks = seq(1, 10, 0.5))

enter image description here