2015-01-07 2 views
0

패키지에 heatmap.2을 사용하여 히트 맵을 생성하려고했습니다. 내 목표는 플롯 영역과 히트 맵 사이에 추가 공간이없는 히트 맵을 생성하는 것입니다 (하단의 키 제외). 일부 게시물을보고, lmat을 사용하여 히트 맵을 플롯 영역에 맞출 수있었습니다 (왼쪽 부분에 공백이 없도록). 하지만 음영의 중심에 음영을 배치 할 수 없습니다.. 결과적으로 오른쪽에 투영 된 색 눈금 크기 때문에 약간의 공간이 있습니다. 누군가 히트 맵의 중앙 부분에 색상 키를 만드는 방법을 알려줄 수 있습니다 (따라서 여분의 공간 문제를 피할 수 있습니다). 이미지를 표시 할 수 없습니다. 다음 코드를 사용하여 히트 맵을 생성합니다.히트 맵 하단에 색상 키 중심 맞춤

library(gplots) 
dat <- read.csv("C:..../xxx.csv") 
dat_matrix <- data.matrix(dat) 
colors = c(seq(-2,-1,length=100),seq(-1,1,length=100),seq(1,2,length=100)) 
my_palette <- colorRampPalette(c("green","black","red"))(n = 299) 
lmat = rbind(c(1,3),c(2,1),c(1,4)) 
lwid = c(1,4) 
lhei = c(1,4,1.2) 
heatmap.2(dat_matrix, dendrogram="none", Rowv = FALSE, Colv = FALSE, 
      col = my_palette, breaks = colors, scale = "none", key = TRUE, 
      density.info = "none", trace = "none", labRow = FALSE, symm = FALSE, 
      symkey = TRUE, symbreaks = TRUE, lmat = lmat, lwid = lwid, lhei = lhei) 
+1

[** 자체 포함 된 예 **] (http://stackoverflow.com/questions/5963269/how-to-make-a-great- r-reproducible-example/5963610 # 5963610). 예를 들어 '? heatmap.2'의 첫 번째 예에서 나온 데이터를 사용하십시오. – Henrik

답변

0

당신은 매개 변수 key.par를 사용하고 적절한 무언가에 mar을 설정할 수 있습니다. 예를 들어 dat_matrix <- as.matrix(mtcars)을 사용하고 데이터가 다른 경우 mar=c(8,0,0,12)을 사용했습니다. mar이 귀하의 데이터에 가장 적합한 것을 파악해야합니다.

heatmap.2(dat_matrix, 
      dendrogram="none", 
      Rowv=FALSE, 
      Colv=FALSE, 
      col = my_palette, 
      breaks=colors,  
      scale="none", 
      key=TRUE, 
      key.par = list(mar= c(8, 0, 0, 12)), 
      density.info="none", 
      trace="none", 
      labRow=FALSE, 
      symm=F, 
      symkey=T, 
      symbreaks=T, 
      lmat = lmat, 
      lwid = lwid, 
      lhei = lhei) 
+0

잘 돌아갔습니다. 감사합니다. @ shadow –