2

割り当て時に解決したい他の変数がオブジェクトに含まれている場合、ggplot2 グロブを変数に割り当てる正しい方法は何ですか?

例:
xposandyposは解決したい値です。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

これについて正しい方法は何ですか?

4

1 に答える 1

3

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
于 2012-12-09T22:37:35.820 に答える