将 ggplot2 标题映射到 dlply 调用中的变量

Map ggplot2 title to a variable in a dlply call

set.seed(8)    
df <- data.frame(
      v1 = rep(c("A","B","C"),25),
      v2 = runif(75,0,2),
      v3 = sample(c("cat1", "cat2", "cat3"), 75, replace=T))

d_ply()(或dlply())中绘制三个地块,分成v3

require(plyr)
    d_ply(df, .(v3), .print=T, function(x){
    ggplot(x,aes(v1, v2)) +
    geom_point()})

如何使用变量(图例、标题)指定一些注释。例如,每个图的标题应映射到 v3 变量。参考这个 post 这对我不起作用:

d_ply(df, .(v3), .print=T, function(x){
    ggplot(x,aes(v1, v2)) + 
    theme(title=v3) +
    geom_point()})

theme(title=unique(v3)) 也没有。也许是关于我在 d_lpy() 中访问 v3 ?

您应该使用 ggtitle,而不仅仅是 v3,而是 x$v3

d_ply(df, .(v3), .print=T, function(x){
  ggplot(x,aes(v1, v2)) + 
    ggtitle(x$v3) +
    geom_point()})