从名字矢量斜体的传奇标题

时间:2015-07-30 17:38:00

标签: r title legend italic

我有一个不同物种名称的载体。 例如:

sp_names<-c("sp1","sp2","sp3")

我必须为每个物种制作一张地图,我需要在图例的标题中用 italic 写下每个物种名称。在stackoverflow上搜索我发现了使用susbtitute的建议。我试过这样的:

legend(title=substitute(italic(sp_names), list(sp_names=sp_names[1])),
       "left",
       pch=21,col="black",pt.bg="darkgreen",
       legend = "Registro de ocorrência", 
       cex = 0.7,
       bty = "n")

但我有这个错误:

Error in legend(title = substitute(italic(title_leg), list(title_leg = title_leg[1])),  : 
  invalid 'title'
你可以帮帮我吗? 谢谢

1 个答案:

答案 0 :(得分:2)

根据?legend帮助页面,title=参数必须为

  

字符串或长度为一的表达式,使标题位于图例的顶部。其他对象将被as.graphicsAnnot强制执行。

并且您正试图通过&#34;电话&#34;宾语。您可以强制调用as.expression()

的表达式
legend(title=as.expression(substitute(italic(sp_names), list(sp_names=sp_names[1]))),
       "left",
       pch=21,col="black",pt.bg="darkgreen",
       legend = "Registro de ocorrência", 
       cex = 0.7,
       bty = "n")