在R

时间:2019-05-20 21:43:01

标签: r

我一直在寻找这个问题的答案,到目前为止我发现的很少。我的问题可以归纳如下:我有一个主要由零组成的矩阵,其中非零元素对应于具有不同状态的“有机体”,其分类为1-8之间的数字。至少,总是存在状态为1,2和3的生物,因此我自然将颜色向量设置为

col.v = c("black", "brown", "red", "green")

以使背景为黑色,并根据上述向量对状态为1-3的生物进行着色。如果任何生物的状态为4或更高,则颜色向量将相应增长。我使用以下代码(给出状态为5的生物的示例)进行此操作:

if (length(which(enviroMat == 5)) > 0) {
   col.v = c(col.v, "orange")
}

以使状态5的有机体显示为橙色。最后,我调用image()函数来绘制所有内容,但是当然,颜色会被翻转,并且所有内容都显示为红色。我已经了解了image()函数处理传递的颜色矢量的方式,但是很遗憾,我无法使用渐变色标来解决-中断必须精确(例如,此状态为绿色,而此状态为黄色) 。

如何获取它,以便在任何给定时刻,矩阵中的数值对应于我使用image()函数分配的正确着色?如果R中有一个功能像image()一样易于使用,并且在着色时更直观,那么我会不胜枚举。

0 个答案:

没有答案