gpt4 book ai didi

r - 将 ggplot grob 分配给变量,并在分配时解析所有值

转载 作者:行者123 更新时间:2023-12-04 05:19:39 25 4
gpt4 key购买 nike

如果对象包含我希望在分配时解析的其他变量,那么将 ggplot2 grob 分配给变量的正确方法是什么。

例如:
xposypos是我想要解决的值。
我将 geom_text 分配给 ptext,然后我想将其添加到一些图中,比如 p1 和 p2。

xpos <- .2
ypos <- .7

ptext <- geom_text(aes(x = xpos, y = ypos, label = "Some Text"))

我可以将 ptext 添加到另一个情节,一切都按预期进行
## adding ptext to a plot
p1 <- qplot(rnorm(5), rnorm(5))
p1 + ptext

但是,删除(或更改)xpos & ypos产生不想要的结果。
rm(xpos, ypos)

p2 <- qplot(rnorm(5), rnorm(5))
p2 + ptext
# Error in eval(expr, envir, enclos) : object 'xpos' not found

解决这个问题的正确方法是什么?

最佳答案

你应该把 xposypos在一个数据框中。在你的例子中:

coords = data.frame(xpos=.2, ypos=.7)

ptext <- geom_text(data=coords, aes(x = xpos, y = ypos, label = "Some Text"))

## adding ptext to a plot
p1 <- qplot(rnorm(5), rnorm(5))
p1 + ptext

# removing (or altering) the old coords data frame doesn't change the plot,
# because it was passed by value to geom_text
rm(coords)

p2 <- qplot(rnorm(5), rnorm(5))
p2 + ptext

关于r - 将 ggplot grob 分配给变量,并在分配时解析所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13792534/

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