如何在马赛克图中禁用y轴?

时间:2015-07-05 15:46:09

标签: r

如何在马赛克图中禁用 y轴

示例:

x <- data.frame(o=c(rep("AAAAAAAAAAAAAAAAAAA",50),rep("BBBBBBBBBBBBBBBBBBBBBBBBBBBBB",40),rep("CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC",70)),r=runif(160))
x$int <- findInterval(x$r, seq(0.1,1,0.1), rightmost.closed = TRUE, all.inside = TRUE)

tab.dat <- with(x, table(o, int))

par(mar=c(3, 3, 3, 3))
mosaicplot(tab.dat, col=colorRampPalette( c("green3", "yellow", "red"), space="rgb")(9), las=2, dir=c("h","v"))

我想使用自己的轴功能。那么如何删除y轴名称?通常类似于yaxt="n"的工作,但不是这种情况。

axis(2, at=seq(0, 1, by = 1 / (length(rownames(tab.dat)) - 1)), labels=rownames(tab.dat), cex.axis=2.2, line=1.1, las=1)

1 个答案:

答案 0 :(得分:3)

似乎不是直接从mosaicplot函数执行此操作的方法,但有一个简单的替代方法。

只需将tab.dat行名称转为'',这样就可以了。

tab.dat <- with(x, table(o, int))

#I am only adding this line of code below
#just use the row.names function to set the names to ''
row.names(tab.dat) <- rep('',3)

par(mar=c(3, 3, 3, 3))
mosaicplot(tab.dat, col=colorRampPalette( c("green3", "yellow", "red"), space="rgb")(9), las=2, dir=c("h","v") )

似乎很容易做到黑客攻击。也许这就是为什么开发人员没有将其作为mosaicplot中的论据包含在内。

输出:

enter image description here