0
私は関数を渡す引数のいくつかを引数と呼んでいました。そして、ggplot2を使ってさまざまなテーマのプロットを生成できることを願っています。次の2つの関数は正しくプロットすることができます:ggplot2の関数の引数としてテーマを渡すことで、さまざまなテーマをプロットするにはどうすればよいですか?
# plot data
dat <- diamonds[sample(1:nrow(diamonds), 5000), ]
gplot1 <- function(FUN = theme_bw) {
ggplot(dat, aes(carat, price))+
geom_point(aes(colour = color))+
FUN()
}
gplot1(theme_gray)
gplot2 <- function(FUN) {
theme_set(FUN)
ggplot(dat, aes(carat, price))+
geom_point(aes(colour = color))
}
gplot2(theme_bw())
しかし、私は1つの関数呼び出しでどのように異なるテーマでプロットすることができますか?私はgplot2を試しながら は、私は警告メッセージをし、任意のプロットなしGOT)(、(gplot1を試してみました)、何も得なかっ:
themes1 <- c(theme_bw, theme_gray)
for(i in themes1) gplot1(i)
# nothing
themes2 <- c(theme_bw(), theme_gray())
for(i in themes2) gplot2(i)
# warning messages and without any plot
誰も私を啓発てもらえますか?どうもありがとう!
'(I themes1中)プリント(gplot1(I))' – baptiste
のために私が最初にマルコSandriの答えを読みます私はあなたのコメントを気づいただけで、あなたのコードはmよりも簡潔だと思います。(私は1:1の長さ(ps))のprint(ps [[i]])あなた、両方のおかげで、お元気ですか! – ycc