繁体   English   中英

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

[英]Y axis out of plotting region with barplot() in R

我在绘图区域内的水平条形图()上获得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")

对于某些(奇怪的?)原因,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)

这里的关键是在使用条形图时忘记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,因为它可能在某些其他语言中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM