r - 在循环中将文本添加到ggplot

标签 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。这是为什么?我怎样才能设法在第一个图中绘制“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/

相关文章:

r - R中的ggplot和基本图有什么区别?

r - 如何使用 ggplot 中的分组箱线图将 geom_text 标签放置在正确的位置

r - dplyr - 如何选择某种类型的列

r - 如何摆脱渐变并在ggplot中使用单独的颜色?

r - "exclude"`factor()` 中的参数不起作用

r - R 中多列的聚合和加权平均值

使用R删除数据框中每一行的模式

r - sec.axis() 对每个方面进行不同的转换

r - 如何将字符对象添加到 ggplot2 : adding the % symbol to the percentage label in a bar chart 中的数字标签

r - 如何通过点类型区分 geom_point 图中的组