考虑以下向量:
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
绘制bar plot
。然而,正如您所看到的,有一个或两个值与向量的其余部分相比极端。绘制条形图时,图中几乎不显示小值。
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:在我的情况下,使用对数刻度绘图不是一个选项,因为某些矢量值是负数。
谢谢!
答案 0 :(得分:2)
您需要来自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
参数,以获得所需的美学效果。