R 分离NMDS排序图

R 分离NMDS排序图,r,plot,vegan,R,Plot,Vegan,我有来自采石场和石灰质草地的繁殖鸟类组合数据,希望将它们显示在nmds排序图中,并将环境参数作为向量。我怎样才能理顺物种标签?我用纯素套餐来做圣餐 我已经使用goeveg软件包中的ordiselect功能减少了显示的物种数量。标签仍然重叠,但我不想进一步减少物种 使用orditkplot函数,从美学角度看,我似乎无法得到我想要的效果。在使用该函数时,我也未能仅显示物种的子集 ord.nmds <- metaMDS(species, trace=FALSE) sel <- ordise

我有来自采石场和石灰质草地的繁殖鸟类组合数据,希望将它们显示在nmds排序图中,并将环境参数作为向量。我怎样才能理顺物种标签?我用纯素套餐来做圣餐

我已经使用goeveg软件包中的ordiselect功能减少了显示的物种数量。标签仍然重叠,但我不想进一步减少物种

使用orditkplot函数,从美学角度看,我似乎无法得到我想要的效果。在使用该函数时,我也未能仅显示物种的子集

ord.nmds <- metaMDS(species, trace=FALSE)
sel <- ordiselect(species, ord.nmds, ablim = 0.5, method = "axes", freq = TRUE)

ef <- envfit(ord.nmds ~ cgr + L_wdl + str + Hab_Div, env_var, permu=999)

grp <- factor(rep(c("GRASS", "QUARRY"), each = 14))
cols <- c("gray70","gray30")

plot(ord.nmds, type="n", xlim = c(-1.1, 1.1), ylim = c(-0.9,0.9))
points(ord.nmds, display = "sites", pch = 15, col = rep(cols, each = 14), cex=1)
text(ord.nmds, display = "species", col="black", cex=0.55, select = sel)
plot(ef, p.max = 0.05, col ="black", cex = 0.8)
legend(x = 0.6, y = 1.05, legend = tools::toTitleCase(levels(grp)), fill = cols, bty = "n", cex = 0.8)
到目前为止,我的情节是这样的:

您是否尝试过使用素食主义者的ordipointlabel?我通常会得到很好的结果。对于此类绘图,通过直接导出(例如使用png或svg功能)预定义绘图图形的最终大小也是非常有帮助的,建议这样做。只需将绘图函数放入如下代码中,然后运行整个块:

svg("ordinationdiagram.svg", width = 8, height = 6)

plot(ord.nmds, type = "n", ...)
points(ord.nmds, ...)
ordipointlabel(ord.nmds, add = T, ...)
legend(...)

dev.off()
在运行dev.off之前,所有图形操作都将放在svg图形中


如果以svg等矢量格式导出,则可以在任何矢量图形编辑器(如Inkscape)中加载图形,以便在仍然出现重叠名称时手动重新排列

感谢svg/Inkscape提示,这解决了我所有的问题!