gpt4 book ai didi

r - 如何访问已传递给 ggplot() 的数据框?

转载 作者:行者123 更新时间:2023-12-03 23:11:30 27 4
gpt4 key购买 nike

我想设置字符串 N=xxx作为我图的标题,其中xxx是我作为 data 传递的数据框中的观察值数量论据 ggplot() .在我当前的代码中,我第二次明确地将该数据帧作为参数传递给 sprintf()我在 labs() 里面使用的:

ggplot(mtcars, aes(mpg, hp)) + 
labs(title=sprintf("N=%i", nrow(mtcars))) +
geom_point()

这确实会产生所需的标题,但它不适用于更复杂的任务:我使用 dplyr管道来构建正在绘制的数据框,因为这是一个耗时的过程,我不想第二次重复管道来获取示例中的行数。

那么,如何访问作为参数传递给 ggplot() 的数据框?从用于修改绘图的函数的参数规范中?

最佳答案

mtcars %>% {
ggplot(., aes(mpg, hp)) +
labs(title = paste("N =", nrow(.))) +
geom_point()
}

注意包裹整个 ggplot的时候调用 {...}花括号,你必须使用 . ggplot(., ...) 中数据参数的点代词.然后您可以使用 . 回调该对象调用中任何地方的代词。

enter image description here

关于r - 如何访问已传递给 ggplot() 的数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45088454/

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