增加轴刻度的数量
我正在为某些数据生成图表,但滴答的数量太小,我需要读取更精确 。
有没有办法增加在ggplot2轴蜱的数量?
我知道我可以告诉ggplot使用vector作为坐标轴,但是我想要的是增加所有数据的滴答数。 换句话说,我想从数据中计算滴答数。
可能ggplot做一些内部algorithm,但我找不到它是如何做,根据我想要改变。
您可以通过修改scale_x_continuous和/或scale_y_continuous覆盖ggplots的默认比例。 例如: 
 library(ggplot2) dat <- data.frame(x = rnorm(100), y = rnorm(100)) ggplot(dat, aes(x,y)) + geom_point() 
给你这个:

而覆盖的比例可以给你这样的事情:
 ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks = round(seq(min(dat$x), max(dat$x), by = 0.5),1)) + scale_y_continuous(breaks = round(seq(min(dat$y), max(dat$y), by = 0.5),1)) 

 如果你想简单地“放大”一个图的特定部分,分别看xlim()和ylim() 。 在这里也可以find好的见解来理解其他论点。 
 你可以使用内置的prettyfunction: 
 ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks = pretty(dat$x, n = 10)) + scale_y_continuous(breaks = pretty(dat$y, n = 10)) 
 基于Daniel Krizian的评论 ,您还可以使用自动导入的scales库中的pretty_breaks函数: 
 ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks = scales::pretty_breaks(n = 10)) + scale_y_continuous(breaks = scales::pretty_breaks(n = 10)) 
所有你需要做的是插入想要的数量。
 您可以提供一个函数参数来scale ,ggplot将使用该函数来计算滴答位置。 
 library(ggplot2) dat <- data.frame(x = rnorm(100), y = rnorm(100)) number_ticks <- function(n) {function(limits) pretty(limits, n)} ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks=number_ticks(10)) + scale_y_continuous(breaks=number_ticks(10))