R을 사용하여 격자 모델 표시

【목적】
데이터 파일에서 행렬을 판독값에 따라 색으로 구분하여 2차원 격자 위에 표시

【사용하는 것】
R 언어(draw_lattice.r)
데이터 파일(matrix.dat)

matrix.dat
0 0 2 0 0 3
1 0 2 0 0 2
0 3 1 2 1 0 
3 0 0 0 1 0
0 0 3 0 1 3

이것을 2 차원 격자에
0은 흰색, 1은 녹색, 2는 파란색, 3은 빨간색으로 표시하고 싶습니다.

【순서】

draw_lattice.r
# ======= # Reading a file named "matrix.dat" =======
x <- read.table("matrix.dat")      
# =================================================== 

N <- 5  # Number of rows
M <- 6  # Number of columns

# ======= Plot axes =======
 plot(0:1, type="n",xlab="Column", ylab="Row",axes=F,xlim=c(0,M),ylim=c(N,0))  
 axis(1, pos = 0,label=F)
 axis(2, pos = 0,label=F)
# ==========================

# ======= Paint eash site =======
for (i in 1:N) {            
    for (j in 1:M) {    
       if(x[i,j]==0){
          rect(j-1,i-1,j,i, col=rgb(1,1,1),border=rgb(0,0,0))  # col="white",border="black"
       }else if(x[i,j]==1){
          rect(j-1,i-1,j,i, col=rgb(0,1,0),border=rgb(0,0,0))  # col="green",border="black"
       }else if(x[i,j]==2){
          rect(j-1,i-1,j,i, col=rgb(0,0,1),border=rgb(0,0,0))  # col="blue",border="black"
       }else{
          rect(j-1,i-1,j,i, col=rgb(1,0,0),border=rgb(0,0,0))  # col="red",border="black"
       }      
     }
 }           
# ================================

# ====== Generate a pdf file (if you need) ======
dev.copy(pdf, file="lattice.pdf")
 dev.off()  
# =============================================

【실행 결과】



【참고】
htp://c. 나로. 아 frc. . jp / 타케자와 / 루치 ps / r / 51. HTML

좋은 웹페이지 즐겨찾기