2015-12-21 27 views
2

這是我關於以前的問題的後續問題。 我想象一個10x10矩陣,並根據它們的值爲levelplot上的方塊着色。根據if-else語句着色水平圖

這很好,但是,我也想使用if-else語句着色;即如果平方值小於一定數量,則相應的正方形應該被着色爲紅色,否則應該是藍色。

我很確定這是一個非常簡單的問題 - 我只是沒有找到解決方案。

下面是一個示例代碼,以查看它現在的外觀如何加上圖片。

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) ]")) 

你猜我怎麼能解決這個小問題?

enter image description here

+0

所以,如果我理解正確的話,它應該是一個雙色圖(只有紅色和藍色方塊)?還是應該漸變仍然存在? – Heroka

+0

是的,只有兩種顏色! – Arne

+0

它是否必須在格嗎? – Heroka

回答

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) ]")) 

我沒有得到滿意的傳說,但我不知道如何將它與晶格變化爲離散的規模。

enter image description here