在循环的每个循环中,我创建一个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;在第二个等等?
答案 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]]