关于负值数据的条形图

about barplot for data with negative values

我想为包含正值和负值的数据矩阵绘制堆积条形图。

我使用了下面的代码,我希望所有正值都堆叠在 x 轴上方,所有负值都堆叠在 x 轴下方,但事实并非如此。

  test<-matrix(c(1,-2,-3,4,5,-6),ncol=2)
  colnames(test)=c("A","B")
  rownames(test)=c("x","y","z")
  barplot(test)

如果我查看 help,我找不到关于这个特定主题的内容。

我必须使用一些额外的命令或额外的参数来实现吗?

快速(但不是最佳)解决方法:

test1 <- test2 <- test
test1[test1<0] <- 0
test2[test2>0] <- 0
myrange <- c(min(colSums(test2)),max(colSums(test1)))
barplot(test1,ylim=myrange)
barplot(test2,add=TRUE,ylim=rev(myrange))