在R中的非数字X轴上添加垂直线



我想使用image()功能在R中创建图形。我的X轴具有非数字细分。轴是这样分开的:"北极海" - "北大西洋" - 等。
如何在此轴上添加垂直线,以便使用abline(v = [value])函数在轴上分离不同的组?

这是我用来创建图像的代码(效果很好):

dev.new()
par(mar = c(9,9,1,1), bg = "grey90")
n.bins <- 24
image(log10(data.stand), col = colorRampPalette(blues9)(n.bins), xaxt = "n", yaxt = "n", useRaster = F)
axis(side = 2, at = 0:(n.taxa.data - 1) / (n.taxa.data - 1), labels = colnames(data.by.tax), las = 1)
axis(side = 1, at = 0:(n.iho.obis - 1) / (n.iho.obis - 1), labels = rownames(data.by.tax), las = 2, cex.axis = 0.5)

我尝试使用abline()函数实现垂直线,但没有出现在图中。

现在我的问题是:如何在此代码中正确实现它?我如何也可以使它出现在图中?

欢呼!

由于您没有向image提供xy参数,但只有z矩阵,因此默认情况下将seq(0,1,nrow(z))seq(0,1,ncol(z))作为X和Y值。因此,您的垂直线必须在[0,1]范围内表示。假设您的10列是100组中的10列,然后abline(v=.1)应该解决问题。当然,直接声明X和y可能更方便,因此您可以更好地控制它。

相关内容

  • 没有找到相关文章

最新更新