Я не уверен, что это то, что вам нужно, но вы можете взломать:
# drop first break
sx <- scale_x_continuous()
sx$.tr$input_breaks <- function(., range) grid.pretty(range)[-1]
m <- qplot(rating, votes, data=subset(movies, votes > 1000), na.rm = T)
m + sx
# reduce the breaks into half
sx$.tr$input_breaks <- function(., range) {
r <- grid.pretty(range); r[seq_len(length(r)/2)*2]
}
m + sx
# set the (rough) number of breaks
sx$.tr$input_breaks <- function(., range) pretty(range, 3)
m + sx
, но учтите, что это также влияет на ось Y ...
Ивозможно, это простой способ создать собственный объект преобразования.
TransIdentity2 <- Trans$new("identity2", "force", "force", "force")
TransIdentity2$input_breaks <- function(., range) pretty(range, 3)
m + scale_x_continuous(trans="identity2")
в этом случае это не влияет на ось Y.