我正在尝试使用ggplot2创建一个boxplot图,但是我无法像在ggplot2 webiste的示例中那样显示ticks。
以下是一些关于水果味道的虚假数据:
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 website example中进行绘图,则y轴刻度应如下所示:
相反,我得到一个像:
的轴ggplot(fruits, aes(fruit, taste) ) + geom_boxplot() + scale_y_log10()
如何以科学计数法得到y轴刻度?
答案 0 :(得分:3)
我假设您正在使用ggplot2的新0.9.0版本,该版本经历了大量更改。我相信这恰好是其中之一。
如果我没记错的话,有足够多的人抱怨指数格式是默认格式,这就改变了。根据{{3}},您可以通过以下方式获得相同的效果:
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)))