Y轴超出绘图区域,在R中带有barplot()

时间:2010-11-08 03:37:58

标签: r plot

我在绘图区域内的水平条形图()上获取y轴时遇到问题。看到这个例子,我认为使用ylim和/或yaxp会阻止它离开绘图区域,但它似乎不起作用。

我试图重现我得到的设置:

x <- matrix(abs(rnorm(34)), nrow = 34, ncol = 3)
rownames(x) <- c(seq(0,6600,200))
barplot(x[,3], horiz=TRUE, space = 0.4, main = "Title", las=1, cex.names=0.8, ylab="y label")

但是,如果我添加ylim:

,则轴将进入绘图区域
barplot(x[,3], horiz=TRUE, space = 0.4, ylim = c(0,25), yaxp=c(0,25,1), main = "Title", las=1, cex.names=0.8, ylab="y label")

2 个答案:

答案 0 :(得分:5)

对于某些(奇怪的?)原因,barplot默认情况下xpd = T,将其设置为false会导致它像大多数情节函数一样剪辑:

barplot(x[,3], horiz=TRUE, space = 0.4, ylim = c(0,25), yaxp=c(0,25,1), main = "Title", las=1, cex.names=0.8, ylab="y label", xpd=F)

答案 1 :(得分:3)

这里的关键是在使用条形图时忘记ylim,而只是在数据中发送所需的绘图范围:

barplot(x[1:25,3], horiz=TRUE,  space = 0.4,  yaxp=c(0,25,1), main = "Title", las=1,  
          cex.names=0.8, ylab="y label")

另请注意,R中的索引从1开始,而不是0,就像在其他一些语言中一样。