默认情况下,似乎ggplot2使用的只是主要网格的一半的次要网格。有没有办法打破这个问题?如何控制ggplot2中次网格线的数量?
例如,我有一个情节,其中x轴是几年,主要休息时间是(1850,1900,1950,2000)。这意味着小格点在(1875年,1925年,1975年),这是多年来有点不直观。我怎样才能让小网格出现在每十年?
默认情况下,似乎ggplot2使用的只是主要网格的一半的次要网格。有没有办法打破这个问题?如何控制ggplot2中次网格线的数量?
例如,我有一个情节,其中x轴是几年,主要休息时间是(1850,1900,1950,2000)。这意味着小格点在(1875年,1925年,1975年),这是多年来有点不直观。我怎样才能让小网格出现在每十年?
您可以通过在scale_x_continuous
中明确指定minor_breaks()
来实现。请注意,因为我没有在下面的示例中指定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))
你可以消除与网格线(在最新版本的GGPLOT2)'主题(panel.grid.major.x = element_blank(),panel.grid .minor.x = element_blank())'并将它们添加到你认为合适的地方:'geom_vline' –
由于你没有提供任何示例数据,我用默认的'ggplot'数据集来展示它。 – Maiasaura
@TylerRinker:不寻找消除。还有其他的问题。 – naught101