【问题标题】:How do I exclude parameters from an RDA plot如何从 RDA 图中排除参数
【发布时间】:2016-08-16 08:03:56
【问题描述】:

我对 R 中的绘图操作还比较缺乏经验,需要帮助。我使用 rda() 函数在 R 中进行了冗余分析,但现在我需要简化图形以排除不必要的信息。我目前使用的代码是:

abio1516<-read.csv("1516 descriptors.csv")
attach(abio1516)
bio1516<-read.csv("1516habund.csv")
attach(bio1516)
rda1516<-rda(bio1516[,2:18],abio1516[,2:6])

anova(rda1516)
RsquareAdj(rda1516)
summary(rda1516)

  varpart(bio1516[,2:18],~Distance_to_source,~Depth, ~Veg._cover, ~Surface_area,data=abio1516)
plot(rda1516,bty="n",xaxt="n",yaxt="n",main="1516; P=, R^2=",
     ylab="Driven by , Var explained=",xlab="Driven by , Var explained=")

生成的情节如下所示:

请帮我修改我的代码:排除站点 (sit#)、所有轴和内部虚线。

我还想扩大字段的大小,或者将矢量标签移动到完全适合绘图字段。

根据回复更新,低于此点的工作代码

plot(rda,bty="n",xaxt="n",yaxt="n",type="n",main="xxx",ylab="xxx",xlab="xxx
Overall best:xxx")

abline(h=0,v=0,col="white",lwd=3)
points(rda,display="species",col="blue")
points(rda,display="cn",col="black")
text(rda,display="cn",col="black")

【问题讨论】:

    标签: r plot rda


    【解决方案1】:

    首先用type = "n" 绘制rda,它会生成一个空图,您可以在其中添加您想要的东西。虚线是硬编码到 plot.cca 函数中的,因此您需要制作自己的版本,或者使用 abline 隐藏它们(然后使用 box 掩盖轴上的孔)。

    require(vegan)
    data(dune, dune.env)
    rda1516 <- rda(dune~., data = dune.env)
    
    plot(rda1516, type = "n")
    abline(h = 0, v = 0, col = "white", lwd = 3)
    box()
    points(rda1516, display = "species")
    points(rda1516, display = "cn", col = "blue")
    text(rda1516, display = "cn", col = "blue")
    

    如果text 标签的位置不正确,您可以使用参数pos 来移动它们(制作一个向量,只要您拥有的箭头数量为整数 1 - 4 即可移动标签向下、向左、向上或向右。(可能有更好的解决方案)

    【讨论】:

    • 非常感谢!它解决了我的大部分问题。剩下的唯一一个是我似乎无法摆脱轴 3 或轴 4(顶部和右侧)。我试过:axis(4,labels=FALSE,tick="FALSE",col="white") axis(3,labels=FALSE,tick="FALSE",col="white") 但它没有用。有什么建议吗?
    • 箭头的比例需要这些轴​​。当然你可以编辑points.ccatext.cca的代码,如果你真的不想要它们。
    • 好点。我会更新上面的代码以帮助其他人。
    猜你喜欢
    • 1970-01-01
    • 2021-07-16
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    相关资源
    最近更新 更多