我已经改变了gap.barplot帮助文件中的示例代码。
twogrp<-c(0, 4, 5, 7, 2,3, 1, 7, 18, 22, 25, 26, 28)
gap.barplot(twogrp,gap=c(8,16),xlab="Index",ytics=c(3,6,17,20),
ylab="Group values",main="Barplot with gap")
当我绘制上面的代码时,结果图使0值显示为负值,值1看起来像零。有没有办法改变这个,这样如果我的矢量包含零值,则不会绘制任何内容,如果值为1,那么我会看到一个凸起的条。我注意到示例文件避免使用1和0,并且样本文件产生的图表的x轴为y = 1。
答案 0 :(得分:1)
gap.barplot
(plotrix版本3.5-5)中显然存在拼写错误。现在,它将条形图的底部设置为最小x
值,而不是最小y
值。这里有一些代码可以复制该函数并更改该行(如果找到)
gap.barplot2<-gap.barplot
if (deparse(body(gap.barplot2)[[c(20,4,4)]])==
"botgap <- ifelse(gap[1] < 0, gap[1], xlim[1])") {
body(gap.barplot2)[[c(20,4,4)]] <-
quote(botgap <- ifelse(gap[1] < 0, gap[1], ylim[1]))
} else {
stop("line not found")
}
然后你可以运行
gap.barplot2(twogrp,gap=c(8,16),xlab="Index",ytics=c(3,6,17,20),
ylab="Group values",main="Barplot with gap")
获取
似乎没有简单的方法来设置ylim[1]=0
而不设置ylim[2]
(最大y值)。格子绘图函数允许ylim=c(0,NA)
。强制零线会很好,但让函数的其余部分找出默认的最大值。
所以你现在可以使用这个替代方案。我会联系包裹作者让他们知道这个错误。如果您愿意,可以向他们发送此问题的链接。