2013-11-28 10 views
1

我需要用這種方法用兩種顏色着色這樣一個平面(格子區域:http://postimg.org/image/j37tz50oj/,見下圖,它是igraph類對象):從左側着色區域的下角開始用第一種顏色(例如藍色)直到黑色輪廓,然後將顏色改變成第二種顏色(例如灰色)直到黑色輪廓,然後改變爲第一種顏色,依此類推。這種着色將顯示由黑色邊緣分隔的灰色和藍色區域。 R可以這樣做嗎?如何或使用什麼?如何在R中着色格子背景

我給這家代碼:

g <- graph.lattice(c(n1,n2), directed=T) 
lay <- layout.grid(g) 
V(g)$x <- lay[,1] 
V(g)$y <- lay[,2] 
V(g)$label <- paste(V(g)$x+1, V(g)$y+1, sep=",") 

torem <- c(E(g)[ V(g)[x==0] %--% V(g)[x==0] ], 
      E(g)[ V(g)[y==0] %--% V(g)[y==0] ], 
      E(g)[ V(g)[x==(n1-1)] %--% V(g)[x==(n1-1)] ], 
      E(g)[ V(g)[y==(n1-1)] %--% V(g)[y==(n1-1)] ]) 
g2 <- delete.edges(g, torem) 

g3 <- delete.vertices(g2, V(g2)[ x %in% c(0,(n1-1)) & y %in% c(0,(n1-1)) ]) 
for(i in 1:length(E(g))){ 
    E(g3)[i]$color <- ifelse((E(g3)[i]$bernoulli==0) || (E(g3)[i]$bernoulli==1)  ,ifelse((E(g3)[i]$bernoulli==0), "white", "black"), "grey") 
} 
plot(g3,layout=cbind(V(g3)$x, V(g3)$y), vertex.size=1, vertex.shape="none", vertex.color = NA, vertex.label=NA, edge.arrow.size = 0.1) 

enter image description here

回答

0

使用symbols(squares=..., inches=FALSE, add=TRUE),創建與右軸的情節後,並繪製出圖形,然後用add=TRUE, rescale=FALSE繪製圖形之前。

請在您的問題中包含一個(玩具)數據集,然後我會包含完整的代碼。

+0

我已添加代碼。我很抱歉這很久,但我對此很新。 – user3001385

+0

是的,如果你能把它做得很少,那將會很棒。畢竟,細節並不重要,任何繪製晶格的代碼都很好。 –

+0

我編輯了我的代碼。 – user3001385

相關問題