ggplot2 0.9.1:带条形图的对数y轴刻度

dem*_*odw 0 r ggplot2

我试图将条形图的y轴转换为对数刻度(即每个刻度之间的对数距离).

一些虚拟数据:

DF <- data.frame(num=c(1,2,3),label=c("a","b","c"))
Run Code Online (Sandbox Code Playgroud)

我尝试了以下示例:

p <- ggplot(data=DF,aes(x=label,y=num)) + geom_bar() +
  scale_y_continuous(trans = 'log10',
                     breaks=trans_breaks("log10",function(x) 10^x),
                     labels=trans_format("log10",math_format(10^.x)))
Run Code Online (Sandbox Code Playgroud)

这只日志转换标签,但不转换滴答:

p <- ggplot(data=DF,aes(x=label,y=num)) + geom_bar() + coord_trans(y="log10")
Run Code Online (Sandbox Code Playgroud)

这根本没有绘制任何东西:

p <- ggplot(data=DF,aes(x=label,y=num),y="log")
Run Code Online (Sandbox Code Playgroud)

也没有运气

我也阅读了0.9过渡指南 ,但这似乎也没有用.

编辑:

我忘了包含一个我试过的例子:

p < - ggplot(data = DF,aes(x = label,y = num))+ geom_bar()+ scale_y_log10()

产生以下警告:

警告消息:漂亮(trans(x),n,...):产生NaNs

h.l*_*l.m 8

如果你想做一个日志10规模使用

p + scale_y_log10()
Run Code Online (Sandbox Code Playgroud)