2013-12-18 4 views
1

R로 히트 맵을 만들려고 시도했지만 축 레이블 (heatmap 함수로 전달되는 데이터 프레임의 row.names 정보를 사용하는 정보)이 x 축을 가득 채우고 있습니다. 라벨을 관리하는 방법을 알 수 없습니다. 여기 R 히트 맵에서 제어 축 레이블 지정

은 예입니다

vDates = seq.Date(from = as.Date('29-11-2012', 
           format = '%d-%m-%Y'), 
       length.out = 203, by = 'day') 
dfHeatMap = rdirichlet(length(vDates), runif(15)) 
row.names(dfHeatMap) = as.character(vDates) 
heatmap(t(dfHeatMap), Rowv = NA, Colv = NA, 
     col = cm.colors(256)) 

Crowded heatmap

이 문제를 돌봐 어떤 제안/패키지?

+0

필요한 패키지를 포함하여 예제 코드를 재현 가능하게 만드십시오. – Roland

+0

@Roland Thanks! – tchakravarty

답변

1

나는 이것을 RTFM (더 자세히)으로 파악할 수있었습니다. 처음에는 labCollabRow을 사용할 수 없었습니다. I는 히트 맵의 종횡비를 제어 ClassDiscovery 패키지를 사용한

library(gtools) 
library(ClassDiscovery) 

# generate sequence of dates 
vDates = seq.Date(from = as.Date('29-11-2012', 
           format = '%d-%m-%Y'), 
        length.out = 203, by = 'day') 

# generate the random samples 
dfHeatMap = as.matrix(rdirichlet(length(vDates), runif(15))) 
row.names(dfHeatMap) = as.character(vDates) 


# column labels 
vDatesNew = rep(as.Date(NA), length(vDates)) 
vDatesNew[seq(from = 1, to = 203, by = 10)] = 
    vDates[seq(from = 1, to = 203, by = 10)] 

# row labels 
labRow = c(NA, NA, 3, NA, NA, 6, NA, NA, 9, 
      NA, NA, 12, NA, NA, 15) 

# draw the heatmap with aspect control 
aspectHeatmap(t(dfHeatMap), Rowv = NA, Colv = NA, 
       col = cm.colors(256), labCol = vDatesNew, labRow = labRow, 
       margins = c(5, 5), hExp = 1.5, wExp = 4) 

: 여기 작업 예이다. 모양은 다음과 같습니다. enter image description here

관련 문제