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

时间:2015-01-12 09:51:27

标签: r ggplot2 annotations

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()})

主题也不是(title = unique(v3))。也许我可以访问v3中的d_lpy()吗?

1 个答案:

答案 0 :(得分:2)

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

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