gpt4 book ai didi

r - 在 R 中使用 plot() 时如何去掉网格?

转载 作者:行者123 更新时间:2023-12-04 00:50:37 25 4
gpt4 key购买 nike

因此,我使用 R 通过 Vegan 包执行 DCA(去趋势对应分析),每次绘制结果时,我都会在绘图中间得到一个网格。

我想摆脱它。

这是我的代码:

dca <- decorana(dados)

plot(dca, type = "n", ann = FALSE, origin = TRUE)
text(dca, display = "sites")
points(dca, display = "species", pch = 21, col="red", bg = "red", cex=0.5)
mtext(side = 3, text = "Análise de Correspondência Retificada (DCA)", font=2,
line = 2.5, cex=1.8, font.lab=6, cex.lab=2, cex.axis=1.5)
mtext(side = 1, text = "Eixo I", font=2, line = 2.5, cex=1.5,
font.lab=6, cex.lab=2, cex.axis=2)
mtext(side = 2, text = "Eixo II", font=2, line = 2.5, cex=1.5,
font.lab=6, cex.lab=2, cex.axis=2)

结果如下: DCA plot

你看到 x=0 和 y=0 的网格线了吗?这就是问题所在。

最佳答案

正如现有的各种文档和教程中经常提到的那样,如果您不喜欢 plot() 生成的默认绘图,您可以从低级绘图中自由构建您自己的绘图R 提供的函数或我们在 vegan 中提供的中间函数。

这里的主要问题是,出于某种原因,我们不能在 plot 方法中使用 type = "none" 绘制原点线。但即便如此,也可以通过自己绘制分数来解决。

library("vegan")
data(dune)
dca <- decorana(dune)
spp <- scores(dca, 1:2, display = "species")
sit <- scores(dca, 1:2, display = "sites")
xlim <- range(spp[,1], sit[,1])
ylim <- range(spp[,2], sit[,2])
plot(spp, type = "n", xlim = xlim, ylim = ylim, asp = 1, ann = FALSE)
text(sit[,1], sit[,2], labels = rownames(sit))
points(spp, pch = 21, col = "red", bg = "red", cex = 0.5)
title(xlab = "DCA 1", ylab = "DCA 2")

这是默认 plot.decorana 和上面绘制的内容的并排比较

enter image description here

关于r - 在 R 中使用 plot() 时如何去掉网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35186441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com