web-dev-qa-db-ja.com

ggplot scale_continuous expand引数はどのように機能しますか?

scale_continuous()expand引数がどのように機能するかを理解しようとしています。 scale_continuous documentation によると:

乗法および加法の展開定数を与える長さ2の数値ベクトル。これらの定数により、データが軸からある程度離れた位置に配置されます。デフォルトは、連続変数の場合はc(0.05、0)、離散変数の場合はc(0、0.6)です。

これらは「拡張定数」であるため、実際の単位ではありません。それらを実際の測定値に変換して実際の出力を予測する方法はありますか? 0以外の場合は、機能するまで乱数を試すだけです。これにアプローチするには、より適切な方法が必要です。

13
burger

ドキュメントはかなり明確です。 limitsを手動で設定すると、より明確になります。私はそれがどのように機能するかを示すためにいくつかの例を挙げます:

最初の引数は、制限範囲による乗算に等しい拡張を提供します。

ggplot(mpg, aes(displ, hwy)) +
    geom_point() +
    scale_x_continuous(limits = c(1, 7), expand = c(0.5, 0))
# right most position will be 7 + (7-1) * 0.5 = 10

2番目は、軸の両端に追加される絶対展開を示します。

ggplot(mpg, aes(displ, hwy)) +
    geom_point() +
    scale_x_continuous(limits = c(1, 7), expand = c(0.5, 2))
# right most position will be 7 + (7-1) * 0.5  + 2 = 12

最後に、同じ拡張が軸の両端に適用されます。


2019-01-23:@ C.Liuの回答から、新しいexpand_scale関数を使用してdifferent下限と上限の拡張を達成できることを学びました。 multiおよびaddパラメーターは、expand =に必要な2つの値に似ていますが、下限と上限の設定に長さ2のベクトルを使用できます。詳細については、C.liuの回答を参照してください。

23
mt1022

expand_scaleは、軸の一方の端のみを微調整するための選択肢です。

ggplot(mpg, aes(displ, hwy)) +
geom_point() +
scale_x_continuous(limits = c(1, 7), 
                   expand = expand_scale(mult = c(0, 0.5), 
                                         add = c(2, 0))
# left most position will be 1 - (7-1) * 0.0  -2 = -1, 
# right most position will be 7 + (7-1) * 0.5 = 10

これは、scale __ continuousおよびscale __ discreteの展開引数のスケール展開ベクトルを生成するための便利な関数です。拡張ベクトルは、データと軸の間にスペースを追加するために使用されます。

expand_scale(mult = 0、add = 0)

引数mult

乗法範囲拡大係数のベクトル。長さ1の場合、スケールの下限と上限の両方がマルチによって外側に拡張されます。長さが2の場合、下限はmult 1 で拡張され、上限はmult [2]で拡張されます。追加

加算範囲拡張定数のベクトル。長さが1の場合、スケールの下限と上限の両方が、単位を追加することによって外側に拡張されます。長さ2の場合、下限はadd 1 で拡張され、上限はadd [2]で拡張されます。

スケールの拡張ベクトルを生成

16
C.Liu