2013-05-24 10 views
6

ggplot2で同様の図を作成して、何らかの形でデータを変更することは可能でしょうか。例えば、私は、このタスクを達成するための関数を作成することができます。ggplot2構文を使用してテンプレートを作成しますか?

plot1 <- function(data) ggplot(data) + geom_line(aes(x,y)) + theme_bw() 
plot1(data) 
plot1(newdata) 

をしかし、それはこのようないくつかの方法で、コンポーネントのセットを保存して再利用することが可能でしょうか? (もちろん、これは動作しません):

g <- geom_line(aes(x,y)) + theme_bw() 
ggplot(data) + g 
ggplot(newdata) + g 
+0

あなたは(機能、 'テンプレート=機能(D)ggplot(D)+ geom_line(AES(x、y)は)+ theme_bwとしてそれを置くことができます) '、私はあなたがここで試してみる方法でコンポーネントを保存することができませんでしたが、私は失望していることに同意します。 –

答えて

14

+.gg方法がありますが、これらは/ ggplot sの中の要素とthemes

例えば

を置き換える更新します %+%%+replace%ある here

を説明しました

p <- ggplot(mtcars, aes(x =wt, y = mpg,colour = hp)) + geom_point() 

# change the variable mapped to y 
p %+% aes(y = am) 
# change the data set 
p %+% mtcars[1:10,] 

またはリストとしての要素を組み合わせることができます

例えば

# 
g <- list(geom_line(aes(x,y)),theme_bw()) 
ggplot(data) + g 
+0

私はそれが 'p + aes()'であると思っていました、 '%+%'はデータ – baptiste

関連する問題