我有一个不同物种名称的载体。 例如:
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'
你可以帮帮我吗?
谢谢
答案 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")