gpt4 book ai didi

r - 如何将附加参数传递给函数内部生成的 ggplot?

转载 作者:行者123 更新时间:2023-12-04 11:46:59 24 4
gpt4 key购买 nike

我编写了许多包,其中 generic 图是 ggplot2。与其他 R 函数调用不同,ggplot 调用是分层的,因此最终可以有多个选项(由 + 符号分隔)以获得看起来恰到好处的绘图。但是,我不希望有人因我的预定义选项而受苦,并希望他们能够自定义它而无需从头开始重写我的函数。我该如何实现?

对于传统函数,我可以使用三点 运算符来传递可选参数。使用 ggplot 似乎更难。

可重现的例子

f <- function(df) {
custom_plot <- ggplot(df, aes(mpg, disp, color = gear)) +
geom_point(size = 3) +
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), panel.border = element_blank(),
axis.line = element_line(colour = "black"))
return(custom_plot)
}

生成图

f(mtcars)

产生这个:

A test plot

我如何概括这个函数,以便有人可以将额外的或不同的选项传递给这个图(尤其是在它是通用图的情况下)?

如果我的函数定义为:

f <- function(df, ...)

我如何将它们传递给我的 ggplot 调用?

最佳答案

对于任何了解 ggplot 的人来说,您的函数返回的图表应该是可以修改的 - 除非您能想到无法使用 + 修复的特定情况,否则更好的解决方案可能是这样做尽可能少的主题和定制,让人们自己添加到情节中。

所有这些定制工作正常,例如:

mtplot <- f(mtcars)
mtplot + theme_bw()
mtplot + scale_colour_gradientn(colours=c("red", "purple"))
mtplot + labs(title="Add a title!")
mtplot + geom_point(size=5)

关于r - 如何将附加参数传递给函数内部生成的 ggplot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13831717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com