2012-10-26 3 views
1

약 4000 행 100 열인 data.matrix가 있습니다. 내가 좋아하는 데이터의 히트 맵을하고있는 중이 야 :R의 히트 맵 열 라벨의 크기를 조정하는 방법은 무엇입니까?

data<-heatmap(data_matrix,Rowv=NA,Colv=NA,col=cm.colors(256),scale="column",margins=c(5,10)) 

하지만 내가 가진 문제가 제대로을 시각화하는 것은 불가능하므로 열에 표시 라벨이 너무 그룹화되어 있다는 점이다. 히트 맵의 크기를 조정하여 열의 레이블 값을 볼 수있는 방법은 무엇입니까? pdf로 인쇄하려고했지만 검은 색 줄무늬가 나타납니다. 감사합니다

히트 맵 그림이 포함되어 있는데,보고 싶은 부분은 오른쪽 부분에있는 레이블이지만 너무 가깝습니다. enter image description here

답변

1

Rstudio에서 Rgui의 그래픽 창 크기를 쉽게 조절할 수 있습니다. 또는 파일에 플롯을 저장하면 그래픽에 더 큰 크기를 사용할 수 있습니다 (예 : pdf 또는 png을 호출 할 때 더 큰 widthheight이 표시됩니다.

는 PDF 파일로 직접 출력을 넣어하는 것이 좋습니다 모든
+0

에 더 많은 정보를 얻을 수 있지만 결과 수 있습니다. 또한 히트 맵은 이러한 매개 변수를 허용하지 않습니다. 코딩 예제를 넣을 수 있습니까? 감사합니다 – Layla

+0

불행히도 크기 조정은 거의 해결책이 아닙니다. 어느 쪽도 수출하지 않습니다. – Workhorse

5

첫째 - 당신은 다른 이미지 포맷을 사용할 수 있지만 PDF는 최고는 벡터 출력하기 때문에 당신은 당신이 원하는만큼 확대 할 수 있습니다 :

pdf("Your-file.pdf", paper="a4", width=8, height=8) 

그럼 pheatmap (꽤 귀여운 히트 맵) 패키지를 사용하는 것이 좋습니다. 히트 맵 외에 컬러 키를 사용하면 더 나은 히트 맵을 만들 수 있습니다. 마지막으로 pheatmap() 함수는 행 수가 많을 때 레이블 크기를 줄이려고 시도하지만 실제로 많은 수의 행에는 실패합니다. 너무 높은 아니지만 - - 그래서 정말 높은 아래의 코드를 사용하여 행 수 :

library(pheatmap) 
library(gplots) 
if (nrow(table) > 100) stop("Too many rows for heatmap, who can read?!") 
fontsize_row = 10 - nrow(table)/15 
pheatmap(table, col=greenred(256), main="My Heatmap", cluster_cols=F, 
     fontsize_row=fontsize_row, border_color=NA) 

당신은 열 레이블에 대한 fontsize_col을 변경할 수 있습니다. 히트 맵의 셀 안에 값을 가지려면 display_numbers과 같은 흥미로운 옵션이 많이 있습니다. ?pheatmap을 읽으십시오.

pheatmap() 명령의 기본 매개 변수에 의해 생성 된 예는 다음과 같습니다

enter image description here

마지막으로 너무 많은 행이 인쇄 디스플레이에 읽기 쉬운,하지만 쓸모가 있습니다.

0

cexRow = 및 cexCol =을 사용할 수 있습니다.

당신은 내가 것을 시도? heatmap.2

# Row/Column Labeling 
margins = c(5, 5), 
ColSideColors, 
RowSideColors, 
cexRow = 0.2 + 1/log10(nr), 
cexCol = 0.2 + 1/log10(nc), 
labRow = NULL, 
labCol = NULL, 
srtRow = NULL, 
srtCol = NULL, 
adjRow = c(0,NA), 
adjCol = c(NA,0), 
offsetRow = 0.5, 
offsetCol = 0.5, 
colRow = NULL, 
colCol = NULL 
관련 문제