2

这是我对先前问题的后续问题。我可视化了一个 10x10 矩阵,并levelplot根据它们的值对其中的正方形进行着色。

这很好,但是,我还想使用 if-else-statement 进行着色;即,如果正方形值小于某个数字,则相应的正方形应为红色,否则为蓝色。

我很确定这是一个非常简单的问题 - 我只是没有找到解决方案。

这是一个示例代码,看看它现在的样子加上一张图片。

library(lattice)

#Build the horizontal and vertical axis information

hor=c("0.0005", "0.001", "0.005", "0.01", "0.05", "0.1", "0.5", "1", "5", "10")
ver=c("1000","2000","3000","4000","5000","6000","7000","8000","9000","10000")

nrowcol=length(ver)
cor = matrix(runif(nrowcol*nrowcol, min=0.4), nrow=nrowcol, ncol=nrowcol, dimnames = list(hor, ver))
for (i in 1:nrowcol) cor[i,i] = 1

rgb.palette <- colorRampPalette(c("blue", "yellow"), space = "rgb")
levelplot(cor, col.regions=rgb.palette(120), cuts=100, at=seq(0,1,0.01),
          xlab=expression("DAG depletion rate k"[B49] *" [ s"^"-1"*" ]"),
          ylab=expression("PKC activation rate k"[D5] *" [ l / (mol*s) ]"))

你猜我怎么能解决这个小问题?

在此处输入图像描述

4

1 回答 1

2
levelplot(cor < 0.5, col.regions=c("red", "blue"), cuts = 1, 
          xlab=expression("DAG depletion rate k"[B49] *" [ s"^"-1"*" ]"),
          ylab=expression("PKC activation rate k"[D5] *" [ l / (mol*s) ]"))

我对传说不满意,但我不知道如何将其更改为带有格子的离散比例。

在此处输入图像描述

于 2015-12-21T10:37:15.087 回答