![](/img/trans.png)
[英]How do I get rid off pre-printed text in Forest Plot using Metafor/R?
[英]How do I get rid of grids when using plot() in R?
所以我使用R来通过素食包进行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情节
你看到x = 0和y = 0的网格线? 那就是问题所在。
正如现有的各种文档和教程中经常提到的,如果你不喜欢plot()
生成的默认图,你可以自由地使用R提供的低级绘图函数或我们提供的中间函数来构建你自己的图。在素食主义者 。
这里的主要复杂因素是,出于这样或那样的原因,我们不能在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
和上面绘制的内容的并排比较
看起来这个虚线是由绘图函数通过查看源代码的第66和67行创建的:
abline(h = 0, lty = 3)
abline(v = 0, lty = 3)
摆脱它的唯一方法是复制功能代码并删除这两行。
绘制两条白线来遮盖它们,然后在顶部绘制你的点。
abline(h=0, col="white")
abline(v=0, col="white")
然后绘制一个框以移除边框在边框中创建的间隙
box()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.