R 如何覆盖ggplot2';s轴格式?

R 如何覆盖ggplot2';s轴格式?,r,ggplot2,R,Ggplot2,选择对数比例时,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_

选择对数比例时,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)
库(ggplot2)

dfr
scale_y_log10(breaks=breaks,labels=breaks
应该可以做到这一点。

从ggplot2 0.9.0版开始,这种行为(将轴标签格式化为10^0)不再是默认行为。问题中的代码现在给出了所需的结果

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)
库(ggplot2)

dfr啊。知道怎么做就容易了。谢谢。