stat_function
Rで頭を動かそうとして深刻な問題を抱えていggplot2
ます。私はこの些細な例から始めました:
ggplot(data.frame(x = c(1, 1e4)), aes(x)) + stat_function(fun = function(x) x)
これは期待どおりに機能します。残念ながら、x軸とy軸の両方に対数目盛を追加すると、次のようになります。
ggplot(data.frame(x = 1:1e4), aes(x)) +
scale_x_log10() +
scale_y_log10() +
stat_function(fun = function(x) x)
次の結果が得られます。これは、恒等関数のかなり厄介な違反です。
私が見逃している非常に基本的なものはありますか?それでは、対数スケールで関数をプロットするための正しくて最もハッキーでない方法は何ですか?
編集:
私が行った答えに触発され、スケールとaesthetics
パラメーターを試してみました。以下のコードを使用して、期待どおりの結果が得られたことを知り、さらに戸惑いました。
ggplot(data.frame(x = 1:1e4, y = 1:1e4), aes(x, y)) +
scale_x_log10() +
scale_y_log10() +
stat_function(fun = function(x) x)
明らかに未使用のy値のベクトルを使用します(stat_function
つまり、未使用です)。軸変換はデータの可用性に依存しますか?