【问题标题】:Conditional Barchart coloring with a vector in R使用R中的向量进行条件条形图着色
【发布时间】:2014-06-09 01:54:00
【问题描述】:

我正在尝试创建一个带有负值和正值的简单条形图,并将我的输入作为向量。我希望条形图显示红色的正值和蓝色的负值。我知道这个问题很简单,但我似乎无法弄清楚。

这是我的向量:

x <- (1.9230769,  1.2961538,  0.2576923, -1.5500000, -1.3192308, 
0.2192308,  1.8346154, 1.6038462,  2.5653846,  4.1423077)

我已经尝试过代码:

barplot(x, ylim=c(-8,8), if(x>0) {col="red"} else {col="blue"})

但我不断收到一个错误提示

"在 if (x > 0) { : 条件长度 > 1 并且只有第一个 元素将被使用”

如何让它理解遍历整个向量并用红色和蓝色有条件地绘制它?

谢谢,

亚当

【问题讨论】:

    标签: r bar-chart


    【解决方案1】:

    使用

    barplot(x, ylim=c(-8,8), col=ifelse(x>0,"red","blue"))
    

    col= 需要一个与x 长度相同的向量(否则它将回收值)。而且你不能真正有条件地指定这样的参数。 ifelse 将根据需要生成向量,而 if 只运行一次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多