在循环的每个循环中,我都创建了一个 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。这是为什么?我怎样才能设法在第一个图中绘制“1”,在第二个图中绘制“2”等等?
最佳答案
在 geom_text
中尝试用 aes_string
代替 aes
:
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]]
关于r - 在循环中将文本添加到ggplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47172809/