R 条形图中的文本

fra*_*lan 7 text r bar-chart

我在 R 的条形图中添加值时遇到问题。问题是我无法将值放置在每个条形的中间

balance<- c(-4.3963714,0.2335795,-0.2777250,-2.0037130,-1.2526801, -6.4556516)
barnames<-c("E1","E11","E12","E5","E7","E9")
barplot(balance,ylim=c(-8,2),col=c(if ((balance[1])>0) "blue"  else "red",(if ((balance[2])>0) "blue"  else "red"),(if ((balance[3])>0) "blue"  else "red"), (if ((balance[4])>0) "blue"  else "red"),(if ((balance[5])>0) "blue"  else "red"), (if ((balance[6])>0) "blue"  else "red")),main="Balance del Stock de Carbono",names.arg= barnames,ylab="Variacion del Stock de C kg/m2")    
abline(h=0)
text((balance/2),labels=round(balance,digits=2))
Run Code Online (Sandbox Code Playgroud)

这是条形图:

条形图

Rui*_*das 6

您所需要的只是保存由 返回的条形的 x 位置barplot

您还可以使col论证变得更加简单。使用 的ifelse矢量化版本if

bp <- barplot(balance, ylim = c(-8, 2), 
              col = ifelse(balance > 0, "blue", "red"),
              main = "Balance del Stock de Carbono",
              names.arg = barnames,
              ylab="Variacion del Stock de C kg/m2")

abline(h=0)
text(bp, balance/2, labels = round(balance, digits = 2))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述