0

棒グラフのy軸を対数目盛(つまり、各目盛り間の対数距離)に変換しようとしています。

いくつかのダミーデータ:

DF <- data.frame(num=c(1,2,3),label=c("a","b","c"))

次の例を試しました。

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)))

これは、ラベルを変換するだけで、ティックは変換しません。

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

これは何もプロットしません:

p <- ggplot(data=DF,aes(x=label,y=num),y="log")

運もありません

0.9移行ガイドも読みました が、それもうまくいかないようです。

編集:

私が試した1つの例を含めるのを忘れました:

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

これにより、次の警告が生成されます。

警告メッセージ:pretty(trans(x)、n、...):NaNが生成されました

4

1 に答える 1

8

log 10 スケールを使用する場合

p + scale_y_log10()
于 2012-07-25T09:53:01.587 に答える