2

線を描いていてgeom_smooth、敷物を追加したいと思います。y の変動性は平均値よりもはるかに大きいため、滑らかな線のみをプロットすると、y スケールは実際のデータ範囲から縮小されます。下に敷物を追加すると、y 軸にも敷物があるかのように y 軸が再スケーリングされ、滑らかな線の関係がわかりにくくなります。

例:

ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
    geom_smooth(se=F, method='lm')

上記は、y 軸を約 0 から 3 の範囲にスケーリングします。

底だけに敷物を追加する:

ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
        geom_smooth(se=F, method='lm') + geom_rug(sides='b')

3 より上には何もプロットされていませんが、y 軸は 5 にスケールアップされています。

軸のスケールを手動で調整できることは承知していますが、多数の変数に対して動的に調整できるようにしたいのですが、この動作は正しくないようです。したがって、私はそれを間違って使用していると思います。足りないものはありますか?

4

1 に答える 1

2

カラット値が最大 5 であるため、y 軸のこの奇妙なgeom_point()動作が発生します。これは、 を使用して確認できます。使用geom_rug()すると、すべてのポイントを調べて、実際の値ごとに敷物をプロットします。の設定ではsided="b"、y 側のラグが非表示になりますが、その側のラグに使用されるスペースは同じままです。

ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
  geom_point() + geom_smooth(se=F, method='lm') + geom_rug()

ここに画像の説明を入力

coord_cartesian()引数を設定して、 y 軸を目的の範囲にズームできますylim=

ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
  geom_smooth(se=F, method='lm') + geom_rug(sides='b')+
   coord_cartesian(ylim=c(0,3))
于 2013-02-28T06:06:13.737 に答える