如何在马赛克图中禁用 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)
答案 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
中的论据包含在内。
输出: