2016-10-11 9 views
0

私はggplotのラッパーを構築しており、これを使用して特定の要素をオンまたはオフにすることができます。例えば、いくつかのプロットでは、y軸の最小値を0に設定したいが、他のプロットでは0に設定したくない場合があります。ggplot2 - プログラムで要素を追加する

この場合、ユーザーは 'ymin'変数をTまたはFとして関数に渡します。Tの場合は、次の要素をグラフに追加する必要があります。

+ expand_limits(y=0) 

これを達成する簡単な方法はありますか?それとも、私が使用すべきこの種の問題に対して、まったく異なるアプローチがありますか?

+1

を使用しています。何を試しましたか? (注意 - ggplotをオブジェクトとして保存することができます。例えば 'p < - ggplot(...)+ ...'とし、 'p + expand_limits(...)'を実行します。 –

答えて

1

数学的なコーヒーが正しい方向に私を押し込んだ。ここに精巧な答えがあります。

plot <- ggplot(data=data, aes(...))+ 
    geom_line() 

if(ymin == T) 
{ 
    plot <- plot + expand_limits(y=0) 
} 
0

ggplotを関数にラップすることができます。パラメータはオプションです。あなたは `if`ループを使用することができます - パラメータが関数に提供されていない場合は、署名で割り当てられた値があり

plotWithLimits <- function(y=0, data, ...) { 
    return ggplot(data=data, aes(..)) + geom_line()+expand_limits(y=0) 
}