ggplot标题和列表

时间:2014-06-11 14:58:38

标签: r ggplot2

我在完成一项看似简单的任务时遇到了麻烦。我正在为剧情创作运行一个dlply函数,我想让标题从两个变量调用项目" SITE"和" SP"。

SITE和SP都是因素,都是字符串。

这是我的代码:

plot.title<-"Index"
plot.subtitle<-SUBTOT_DATE$SP

p <- dlply(SUBTOT_DATE, .(SITE, SP),function(x){
ggplot(x, aes(YEAR, SUMIA, group=SITE))+
geom_point(size=3, color="red2") +
geom_line(size=1, color="red2") +

ggtitle(ggtitle(bquote(atop(.(plot.title), atop(italic(.(plot.subtitle)), "")))) )+

theme_bw()+
xlab("Year") +
ylab("Sum IA")+
theme(legend.direction ="vertical",legend.position = "bottom")+
guides(color=guide_legend(ncol=2))
})

我的问题来自这段代码:

plot.subtitle<-SUBTOT_DATE$SP

当我调用SUBTOT_DATE $ SP时,它返回一个数字而不是字符串。

当我调用paste(SUBTOT_DATE $ SITE,SUBTOT_DATE $ SP)时,它只会以我想要的方式将两个变量的前两项作为标题返回,但对于所有绘图它都保持不变。

当我调用粘贴(SUBTOT_DATE $ SITE [x],SUBTOT_DATE $ SP [x])时出现此错误:

Error in `[.default`(SUBTOT_DATE$SITE, x) : invalid subscript type 'list' 

当我调用粘贴(SUBTOT_DATE $ SITE [[x]],SUBTOT_DATE $ SP [[x]])时出现此错误:

Error in `[[.default`(SUBTOT_DATE$SITE, x) : attempt to select more than one element 

我做错了什么?当我将paste()函数放入函数(x)时,它不再起作用了。

这就是我希望在我的情节中获得的标题:

> paste(SUBTOT_DATE$SITE," - ",SUBTOT_DATE$SP)[1:5]
[1] "RNN066-Valbois Vignes parc2bas  -  Aglais io (Linnaeus, 1758)" 
[2] "RNN066-Valbois Vignes parc3haut  -  Aglais io (Linnaeus, 1758)"
[3] "RNN066-Valbois Pel temoin  -  Aglais io (Linnaeus, 1758)"      
[4] "RNN066-Valbois Vignes parc3bas  -  Aglais io (Linnaeus, 1758)" 
[5] "RNN066-Valbois Vignes parc3bas  -  Aglais io (Linnaeus, 1758)" 

由于不明原因,它只用数字1重命名所有图。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

baptiste回答:

正确的语法是:

paste(x$SITE,x$SP)