51

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

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

4

1 回答 1

91

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

例如

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

在此处输入图像描述

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

在此处输入图像描述

于 2012-10-09T06:07:14.947 回答