0

MWE は次のとおりです。

library(ggplot2)
library(ggridges)

ggplot(iris, aes(x=Sepal.Length, y=Species, fill=..x..)) +
geom_density_ridges_gradient()

私の質問は次のとおりfill = Sepal.Lengthです。

..x..は計算された変数を参照することを理解してxおり、への呼び出しgeom_density_ridges_gradientはおそらく ggplot 用語では変数を参照しませんが、ggplot の呪文の時点で参照Sepal.Lengthできますか?

この場合..x..ではなく、なぜ私たちが言う必要があるのか​​ を誰かが明確にしてもらえますか?Sepal.Lengthここでの理由については、完全には確信が持てません。

より正確には、これが機能しない理由は次のとおりです。

ggplot(iris, aes(x=Sepal.Length, y=Species, 
fill=Sepal.Length)) +  geom_density_ridges_gradient()

<------------ここから始まるクエリを言い換えたいと思います------------>

私が行った場合 :

ggplot(iris, aes(x = Sepal.Length, y = Species)) + 
geom_density_ridges_gradient(fill = Sepal.Length)

geom_density_ridges_gradient は変数 Sepal.Length を見つけることができず、エラーが発生します。

したがって、正しい呪文は次のようになります。

ggplot(iris, aes(x = Sepal.Length, y = Species)) + 
geom_density_ridges_gradient(fill = ..x..)

geom_density_ridges_gradient は、計算された変数 ..x.. を見つけることができるはずですが、機能しません。誰かがこれがなぜなのか説明してもらえますか?

別のクエリ:

私が行った場合 :

ggplot(iris, aes(x = Sepal.Length, y = Species,fill = Sepal.Length)) + 
geom_density_ridges_gradient()

Sepal.Length が見つからないというエラー メッセージが表示されないのはなぜですか
。単に fill 引数を無視して出力を描画するだけなのでしょうか?

最終的にうまくいくように見えるのはこれです:

ggplot(iris, aes(x=Sepal.Length, y=Species, fill=..x..)) +
geom_density_ridges_gradient()

しかし、なぜそれが機能するのかはわかりません。

基本的に、塗りつぶしに対応する引数をどこに置くべきかについて混乱しています。

4

1 に答える 1