考虑以下向量:
vec <- c(-0.137042293280008 ,-0.0085530023889108 ,7.696986350237e-05 ,9.85275557252565e-05 ,0.000246261331270769 ,-0.0013658222244989 ,0.00117046787783182 ,-0.000423648394606887 ,-0.000112607126438433 ,0.00212185051472275 ,-0.000110104526782098)
names(vec) <- paste("var", 1:length(vec), sep = " ")
我想在 R 中使用条形图
绘制vec
。但是,正如您所看到的,与其他值相比,有一个或两个值是极端的向量的。绘制条形图时,小值几乎不会显示在图表上。
par(xaxs='i',yaxs='i', mai = c(0.5,2,0.5,1.5))
bp2 <- barplot(vec, horiz = TRUE, col = "lightblue4", border = "lightblue4", yaxt = 'n', cex.axis = 0.7)
axis(2, at = bp2, labels = names(vec), tick = FALSE, las = 2, cex.axis = 0.7)
有没有办法更好的展示图表?例如,有没有办法最终分割x轴?下图是一个(不相关的)示例,但它显示了在本例中如何分割 y 轴以允许所有值显示在图表上。
P.S:在我的情况下,使用对数刻度绘图不是一个选项,因为某些向量值为负值。
谢谢!
最佳答案
您需要plotrix包中的gap.barplot
。看看这个:
library(plotrix)
gap.barplot(vec,gap=c(-0.12,-0.04),xlab="Index",ytics=c(-0.04,-0.02,0),
ylab="",main="Barplot with gap", horiz=TRUE)
修改 gap
和 ytics
参数以获得绘图所需的美感。
关于r - 带有一些极值的条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19932318/