当所有值都大于R中的间隙时,如何使用gap.barplot?

时间:2015-08-03 02:39:33

标签: r

我对来自包gap.barplot的{​​{1}}如何工作感到相当困惑,因为下面的代码会返回错误

plotrix

给出的错误是:

  

rect中的错误(xtics [y< gap [1]] - halfwidth,botgap,xtics [y< gap [1]] +:   不能混合零长度和非零长度坐标

R文档中给出的示例是

 gap.barplot( c(3.5, 3, 4, 5), gap = c(1, 3), ytics = c(0, 1, 4, 5) )

哪个工作正常。唯一的区别是我的例子在休息之上有所有条形。您可能会问,为什么不只是使用不同的ylim,答案就是有时您真的想向读者强调轴在视觉上从零开始(您希望读者能够掌握相对和绝对的差异)

1 个答案:

答案 0 :(得分:2)

你可以按照@Jota的建议欺骗情节,然后调整xlimxaxlab

library(plotrix)
gap.barplot(c(0, 3.5, 3, 4, 5), gap = c(1, 3), ytics = c(0, 1, 4, 5), 
         xlim=c(1.5,5.5), xaxlab = c(-1,1:4), xaxs = "i", yaxs = "i")

显然xlimxaxlab是手动调整的,但通常是间隙图的情况。 xaxsyaxs删除第一个刻度和轴之间的空格。特别需要x< 0,隐藏技巧吧。

enter image description here

您可以利用xaxs(按预期需要手动调整),而不是更改halfwidth,也可以将栏分开:

gap.barplot(c(0, 3.5, 3, 4, 5), gap = c(1, 3), ytics = c(0, 1, 4, 5), 
             xlim=c(1.6,5.4), xaxlab = c(-1,1:4), halfwidth = 0.4)

enter image description here