你可以使用下面的基本语法来改变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参数中的数字决定的。