使用gap.barplot()控制不可预测的(对我来说)y轴行为

时间:2016-02-11 06:10:48

标签: r plot

我有一个带有y轴断裂的条形图,用于10对数据点(矩阵A)。我想要完全相同的条形图,除了这些对中只有五个的子集(矩阵B)。但是当我绘制B时,y轴似乎不是从0开始,而是在数据中的最小y值。

我已经尝试过指定ylim = c(0,300),但是它不会像轴断开那样表现出来。任何人都有关于A和B图的y轴范围相同的建议吗?

A <- rbind( NA, 
        c(7.31,8.13,0.44,60.50,8.51,19.25,10.50,25.86,296.64,44.86), 
        c(6.65,6.08,0.34,58.88,8.08,24.83,9.05,47.89,240.31,36.31))
B <- A[,c(4,6,8,9,10)]

pA <- gap.barplot(A, 
            gap=c(65,230), 
            ytics=c(0,25,50,250,275,300),
            xaxt='n')

pB <- gap.barplot(B, 
            gap=c(65,230), 
            ytics=c(0,25,50,250,275,300),
            xaxt='n')

pA图

pA

pB图表

pB

(顺便说一下NA的值是间距)

1 个答案:

答案 0 :(得分:0)

你指明了y限制,你在正确的轨道上。

#loading package
library(plotrix)

pB <- gap.barplot(B, 
              gap=c(65,230), 
              ytics=c(0,25,50,250,275,300),
              xaxt='n',
              ylim=c(0,135))

I can't embed pictures in my posts yet, so here's a link to the plot made by this code.

This reference page for the gap.barplot function

  

如果用户没有要求特定的y限制,该功能将根据数据值的范围计算限制。如果超过特定限制,请记住从上限中减去间隙。

由于条形图的间隙从65到230,从上限减去165(即230 - 65)以获得实际上限135.另一种看待它的方法是你希望你的情节是135单位高(0到65,然后是230到300),y限制将是ylim=c(0,135)

只需将ylim=c(0,135)添加到情节B已有的内容中,就可以了。