条形图有几个极端值

时间:2013-11-12 14:49:18

标签: r graph plot bar-chart outliers

考虑以下向量:

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)

enter image description here

有没有办法更好地显示图表?例如,有没有办法最终分割x轴?下图是一个(不相关的)示例,但它显示了在这种情况下如何拆分y轴以允许所有值显示在图表上。

P.S:在我的情况下,使用对数刻度绘图不是一个选项,因为某些矢量值是负数。

enter image description here

谢谢!

1 个答案:

答案 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)

修改gapytics参数,以获得所需的美学效果。

enter image description here