ggplot2 を使用して、対数正規 y スケールのパフォーマンス チャートを作成しようとしています。残念ながら、基本プロット関数に関しては、いい目盛りを生成できません。
ここに私の例:
library(ggplot2)
library(scales)
# fix RNG
set.seed(seed = 1)
# simulate returns
y=rnorm(999, 0.02, 0.2)
# M$Y are the cummulative returns (like an index)
M = data.frame(X = 1:1000, Y=100)
for (i in 2:1000)
M[i, "Y"] = M[i-1, "Y"] * (1 + y[i-1])
ggplot(M, aes(x = X, y = Y)) + geom_line() + scale_y_continuous(trans = log_trans())
醜いダニを生成します:
私も試しました:
ggplot(M, aes(x = X, y = Y)) + geom_line() +
scale_y_continuous(trans = log_trans(), breaks = pretty_breaks())
デフォルトのプロット関数と同じブレーク/ティックを取得するにはどうすればよいですか:
plot(M, type = "l", log = "y")
結果は次のようになりますが、ブレークをハードタイピングするのではなく動的です。次のような機能を試しaxisTicks()
ましたが、成功しませんでした:
ggplot(M, aes(x = X,y = Y)) + geom_line() +
scale_y_continuous(trans = log_trans(), breaks = c(1, 10, 100, 10000))
ありがとう!
編集: 挿入された写真