编辑betadisper permutest plot

时间:2017-06-19 14:17:58

标签: r labels

enter image description here

我已经使用下面的脚本在2个社区之间生成这个betadisper图。

在我的" df"中,第一列是电台名称(x13)

我有两个问题:

  1. " ABC"背后有一点标签,那么如何使标签透明?最好为每个社区添加不同的颜色?
  2. 如何在每个点旁边添加电台名称,以便直观地比较哪些电台最相似?
  3. 脚本:

    df <-read.csv("NMDS matrix_csv_NEW.csv", header=T, row.names=1, sep= ",")
    df
    Label<-rownames(df)
    Label
    dis <- vegdist(df)
    groups <- factor(c(rep(1,8), rep(2,5)), labels = c("ABC","DEF")) 
    groups
    mod <- betadisper(dis, groups)
    mod
    anova(mod)
    permutest(mod, pairwise = TRUE)
    plot(mod)
    plot(mod, ellipse = TRUE, hull = FALSE, main= "MultiVariate Permutation")
    

2 个答案:

答案 0 :(得分:0)

这是解决问题的可能方法。

从此link下载myplotbetadisp.r文件并将文件放在工作目录中(警告,不要将文件另存为myplotbetadisp.r.txt!)。

myplotbetadisper功能提供了一些其他选项:
fillrect,填充打印质心标签的方框的颜色;
coltextrect,质心标签的颜色矢量;
alphaPoints,质心点的alpha trasparency;
labpoints,标签向量靠近点绘制;
poslabPointslabpoints中文字的排名说明符。

library(vegan)
# A dummy data generation process
set.seed(1)
n <- 100
df <- matrix(runif(13*n),nrow=13)

# Compute dissimilarity indices
dis <- vegdist(df)
groups <- factor(c(rep(1,8), rep(2,5)), labels = c("ABC","DEF")) 

# Analysis of multivariate homogeneity of group dispersions
mod <- betadisper(dis, groups)

source("myplotbetadisp.r")
labPts <- LETTERS[1:13]
col.fill.rect <- addAlpha(col2rgb("gray65"), alpha=0.5)
col.text.rect <- apply(col2rgb(c("blue","darkgreen")), 2, addAlpha, alpha=0.5)
transp.centroids <- 0.7

myplotbetadisper(mod, ellipse = TRUE, hull = FALSE, 
    fillrect=col.fill.rect, coltextrect=col.text.rect, 
    alphaPoints=transp.centroids, labPoints=labPts,
    main= "MultiVariate Permutation")

这是情节

enter image description here

希望它可以帮到你。

答案 1 :(得分:0)

要回答2),以下是在这些点上方绘制测站名称的方法。

text(mod$vectors[,1:2], label=Label)