如何在ggplot2中改变坐标轴刻度线的数量(有例子)

1,042 阅读1分钟

你可以使用下面的基本语法来改变ggplot2中图的坐标轴刻度线的数量:

p +
  scale_x_continuous(n.breaks=10) +
  scale_y_continuous(n.breaks=10)

下面的例子展示了如何在实践中使用这种语法。

例子:在ggplot2中改变坐标轴刻度线的数量

假设我们在R中拥有以下数据框:

#create data frame
df <- data.frame(x=c(1, 2, 4, 5, 6, 8, 12, 14, 19),
                 y=c(2, 5, 7, 8, 14, 19, 22, 28, 36))

#view data frame
df

   x  y
1  1  2
2  2  5
3  4  7
4  5  8
5  6 14
6  8 19
7 12 22
8 14 28
9 19 36

如果我们创建一个散点图,ggplot2会自动为x轴和y轴选择一个合适的刻度数:

library(ggplot2)

#create scatter plot
ggplot(df, aes(x=x, y=y)) +
  geom_point(size=2)

然而,我们可以使用n.break参数来指定在两个轴上使用的精确刻度数:

library(ggplot2)

#create scatter plot with custom number of ticks
ggplot(df, aes(x=x, y=y)) +
  geom_point(size=2) +
  scale_x_continuous(n.breaks=10) +
  scale_y_continuous(n.breaks=10)

请注意,两个轴上的刻度线数量都增加了。

还要注意的是,如果你愿意,你可以只改变一个轴上的刻度线数量:

library(ggplot2)

#create scatter plot with custom number of ticks on x-axis only
ggplot(df, aes(x=x, y=y)) +
  geom_point(size=2) +
  scale_x_continuous(n.breaks=20)

在这个例子中,ggplot2选择了Y轴上的刻度线数量,但是X轴上的刻度线数量是由n.break参数中的数字决定的。