0

我想做与此类似的事情,但要复杂一些。

更改条形图中特定条形的颜色

这是我的数据:

x <- c(3,-1.4,0.8,-0.3,-1.2,-2.5,1.5,-1.4)
breaks <- c(-Inf, -1, 1, Inf)
cols <- c("blue", "grey", "red")[findInterval(x, vec=breaks)]
barplot(x, col = cols, horiz=T)

所以这就是它的结果:

图表 http://www.diabolotricks.net/Rplot-test.jpg

然后我想要做的是使用该更改的 p 值将统计上不显着的条形着色为灰色。

pval<- c(0.01,0.03,0.04,0.89,0.45,0.01,0.03,0.02)

所以第四条也是灰色的。

我尝试使用 ifelse 的各种组合无济于事。

4

1 回答 1

3

只需替换cols. 这很容易完成,[<-或者您可以使用replace它是同一事物的包装器

假设您使用 alpha = 0.05

myalpha <- 0.05
cols[pval > myalpha] <- 'grey' # could also be cols <- replace(cols, pvals > 0.05, 'grey')
barplot(x, col = cols, horiz=T)

在此处输入图像描述

于 2013-01-10T23:43:38.747 回答