在循环中向ggplot添加文本

时间:2017-11-08 06:16:55

标签: r ggplot2

在循环的每个循环中,我创建一个ggplot对象,我想根据循环向绘图添加文本。

这是我的代码:

gp <- list()

for(k in 1:3) {
 gp[[k]] <- ggplot() + 
  geom_text(aes(x = 2, y = 1, label=k), colour = "#1874CD")
 }
gp[[1]]
gp[[2]]
gp[[3]]

我得到的是所有情节中的数字3。这是为什么?我怎样才能设法绘制&#34; 1&#34;在第一个情节中,&#34; 2&#34;在第二个等等?

1 个答案:

答案 0 :(得分:3)

aes_string中尝试aes而不是geom_text

gp <- list()

for(k in 1:3) {
  gp[[k]] <- ggplot() + 
    geom_text(aes_string(x = 2, y = 1, label = k), colour = "#1874CD")
}
gp[[1]]
gp[[2]]
gp[[3]]