我想用ggplot2
创建一个在日志中有x轴的图,但x刻度标签不在日志中。说清楚:
假设有一些x值10.由于我使用scale_x_continuous(trans = "log")
,它在x轴上显示为2.3(log(10) = 2.302585
)。但我希望数字10出现,因为我只使用scale_x_continuous(trans = "log")
来提高两个密度图的可比性,这是非常偏斜的。
答案 0 :(得分:0)
对于你真正追求的东西还是有点困惑。也许这会帮助你了解ggplot2中幕后的内容。此外,log()
,trans="log"
!== log10()
,trans="log10"
:
library(ggplot2)
library(tibble)
library(gridExtra)
set.seed(1492)
df <- data_frame(x=abs(rnorm(10) * 100) + 1,
y=seq(0, 1, length.out=10))
gg <- ggplot(df, aes(x, y)) + geom_point()
gg <- gg + geom_vline(xintercept=10)
gg1 <- gg + scale_x_continuous()
gg2 <- gg + scale_x_continuous(breaks=c(10, 50, 100, 150))
gg3 <- gg + scale_x_continuous(trans="log")
gg4 <- gg + scale_x_continuous(trans="log", breaks=c(10, 50, 100, 150))
grid.arrange(
gg1,
gg2,
gg3,
gg4,
ncol=1
)