首页 > 解决方案 > R - Prop.Table 条形图条件着色

问题描述

如果小于 99%,我想将条形的颜色更改为红色,如果大于或等于 99%,我想更改为绿色。

我有ff。桌子:

data <- c(15,320,7,0,19,0)
table <- matrix(data, nrow=2, ncol=3, byrow=T)

创建一个barpot:

barplot (prop.table(table,2)*100,
     col = ifelse(prop.table(table,2)[1,]>=.99, c("green","gray"),c("red","gray")))

在结果图中,所有条形都变为绿色。但是根据比例,中间的条应该变成红色。

标签: r

解决方案


事实证明,您可以叠加 2 个条形图并具有相同的输出:

bar.height <- prop.table(table,2)[1,]
bar.base <- c(1,1,1)
barplot(bar.base, border=NA)
barplot(bar.height, col = ifelse(bar.height<=.99, "red", "green"), border = NA, add = TRUE)

推荐阅读