【问题标题】:Add vertical lines on non-numerical x-axis in R在R中的非数字x轴上添加垂直线
【发布时间】:2014-02-22 15:04:05
【问题描述】:

我想使用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() 函数实现垂直线,但它没有出现在图中。

现在我的问题是:如何在这段代码中正确实现它?还有怎么让它也出现在图中呢?

干杯!!

【问题讨论】:

    标签: r graphics plot figure


    【解决方案1】:

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

    【讨论】:

    • 非常感谢!我没想到!
    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    • 2017-02-11
    • 2017-05-05
    相关资源
    最近更新 更多