我想使用image()-function在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()函数实现垂直行,但它没有出现在图中。
现在我的问题是:如何在这段代码中正确地实现它?我怎样才能让它出现在图中呢?
干杯!!
发布于 2014-01-30 10:58:28
由于您没有向x和y提供参数,而只向image提供z矩阵,因此默认情况下,seq(0,1,nrow(z))和seq(0,1,ncol(z))作为x和y值。所以你的垂直线必须在0,1的范围内表示。假设100个列中的10个列是一个组,那么abline(v=.1)应该能做到这一点。当然,直接声明x和y可能更方便,这样您就可以更好地控制它。
https://stackoverflow.com/questions/21454321
复制相似问题