gpt4 book ai didi

r - ggplot2 plus 运算符是如何定义的?

转载 作者:行者123 更新时间:2023-12-04 14:24:27 25 4
gpt4 key购买 nike

+通常抛出 non-numeric argument to binary operator当提供数字以外的东西时。但它适用于 ggplot2,将绘图粘贴在一起。同时,它在 ggplot2 的上下文之外保留了它的常用功能(例如作为算术或公式运算符),因此它的 ggplot2 版本与其中任何一个都不冲突。

我想了解如何制作 +以这种方式行事。浏览 ggplot2 github repo,我找到了 +.gg 的函数定义和 %+%但这并没有让我更清楚。

我会很高兴有一个指向 ggplot2 包中执行此操作的代码的指针,或者对如何完成此操作的一般解释。

最佳答案

如果你解剖 +.gg我们有:

> ggplot2:::`+.gg`
function (e1, e2)
{
e2name <- deparse(substitute(e2))
if (is.theme(e1))
add_theme(e1, e2, e2name)
else if (is.ggplot(e1))
add_ggplot(e1, e2, e2name)
}

此外, add_theme ,您感兴趣的是 add_ggplot可以通过 ggplot2:::add_ggplot 访问.后者——一个很长但非常有组织的函数——揭示了更多的“级联”函数来调度要添加的内容。

话虽如此,R 在对类 gg 的对象使用“+”时“知道”要应用哪个函数(因为 S3 classes )。您可以在 ggplot2 中找到起点GitHub 存储库,位于 ggproto.R 我认为最重要的 ggplot2行为取决于。

这就是你要找的吗?

关于r - ggplot2 plus 运算符是如何定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40450904/

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