ggplot2 - 网格线似乎在对数刻度上的非常小的数字上失败

时间:2012-06-12 18:37:01

标签: r ggplot2

我在log10规模的ggplot2中制作了一堆非常小的数量的箱形图。似乎有一些阈值,ggplot2停止正确显示网格。使用dat1的图表缺少网格线,而dat2可以按照我的意愿工作。两者之间的区别似乎只是一个范围问题。

library(ggplot2)

set.seed(1234)
dat1 = data.frame(
    val = c(10^(runif(90,-12,-10)), 10^(runif(10,-15,-12)),
            10^(runif(94,-12, -9)), 10^(runif(6, -14,-12))),
    d = c(rep(1,100),rep(2,100))
)

dat2 = data.frame(
    val = c(10^(runif(90,-9,-7)), 10^(runif(10,-11,-9)),
            10^(runif(94,-9,-6)), 10^(runif(6, -10,-9))),
    d = c(rep(1,100),rep(2,100))
)


p = ggplot(dat1, aes(factor(d), val))
print(p + geom_boxplot() + scale_y_log10())


p = ggplot(dat2, aes(factor(d), val))
print(p + geom_boxplot() + scale_y_log10())

有人有什么建议吗?这是采取日志的数字问题吗?所有值都应大于.Machine$double.eps

where are the gridlines! found the gridlines!

0 个答案:

没有答案