当你选择对数刻度时,ggplot2会将间隔格式化为10^x。我希望它不要这样做。例如,下面的代码应该显示一个在1、2、5等处有刻度的图形,而不是10^0、10^0.3、10^0.69等。
library(ggplot2)
dfr <- data.frame(x = 1:100, y = rlnorm(100))
breaks <- as.vector(c(1, 2, 5) %o% 10^(-1:1))
p1 <- ggplot(dfr, aes(x, y)) + geom_point() + scale_y_log10(breaks = breaks)
print(p1)
我猜在scale_y_log10
中添加一个formatter
参数就可以解决问题,但我不确定该参数应该填什么,也不知道相关选项在哪里有文档说明。