ggplot2 y-axis ticks not showing up on a log scale
我正在尝试使用 ggplot2 创建箱线图,但无法像 ggplot2 webiste 的示例中那样显示刻度。
这里有一些水果味道的假数据:
1 2 3 4 | apples <- data.frame(fruit=c(rep("apple", 30)), taste=runif(30, 30, 50) banana <- data.frame(fruit=c(rep("banana", 30)), taste=runif(30, 300, 500)) orange <- data.frame(fruit=c(rep("orange", 30)), taste=runif(30, 3000, 5000)) fruits <- rbind(apples,banana,orange) |
如果我在 ggplot2 网站示例中进行绘图,则 y 轴刻度应类似于:
相反,我得到一个像这样的轴:
1 | ggplot(fruits, aes(fruit, taste) ) + geom_boxplot() + scale_y_log10() |
如何获得科学计数法的 y 轴刻度?
我假设您使用的是新的 0.9.0 版本的 ggplot2,它进行了大量更改。我相信这恰好是其中之一。
如果我没记错的话,有足够多的人抱怨指数格式是默认值,这已经改变了。根据过渡指南,您可以通过以下方式实现相同的效果:
1 2 3 4 5 6 | library(ggplot2) library(scales) ggplot(fruits, aes(fruit, taste) ) + geom_boxplot() + scale_y_log10(breaks = trans_breaks('log10', function(x) 10^x), labels = trans_format('log10', math_format(10^.x))) |