2015-01-07 9 views
2

) R 크기로 n * k 크기의 히트 맵을 만들었습니다. i 번째 요소에 사용 된 개별 색상을 추출 할 수 있습니까?R - 다각형 채우기에 사용할 히트 맵 색상을 추출합니다 (

예를 들어 n = 3 (열), k = 50 (행), n은 임의의 심각도, k는 영국의 구역을 나타냅니다.

나는이 지구에 대한 폴리곤을 가지고 있으며 전체 히트 맵과 동일한 색상을 사용하여 심각성을 기준으로 폴리곤을 채우기 위해 3 가지 맵을 만들고 싶습니다.

덕분에, 앨런

+0

히트 맵에 사용자 정의 색상을 지정할 수 있습니다. 그러면 히트 맵에서 다른 색상을 지정할 수 있습니다. –

+0

그는 폴리곤의지도에 색상의 정확한 색조를 매핑하는 데 관심이 있다고 생각합니다. 이게 옳은 거니? – lamecicle

답변

1

나는 pheatmap의 코드로 볼 수밖에 없었습니다, 이것이 어떻게 작동하는지 이해하기. 하자 최초의 생성 매트릭스 : 기본 팔레트

pal <- colorRampPalette(rev(RColorBrewer::brewer.pal(n = 7, name = "RdYlBu")))(100) 

아이디어로 정의된다

A <- matrix(1:10, 2, 5) 

은 휴식 값을 정의하고 휴식에 의해 정의 된 간격의 각 색상을 지정하는 다음입니다 :

bks <- pheatmap:::generate_breaks(A, length(pal), center = F) 
A2 <- pheatmap:::scale_colours(A, col=pal, breaks=bks) 

매트릭스 A2A는 각 셀에 연결된 색상을 포함

,363,210
A2 
#   [,1]  [,2]  [,3]  [,4]  [,5]  
# [1,] "#4575B4" "#ABD0E4" "#F4FBD2" "#FEDF8F" "#EF6D48" 
# [2,] "#77A6CE" "#E0F3F7" "#FEF4AF" "#FCA86B" "#D73027" 

마지막으로, 우리는 image으로도 pheatmapA2 처음에 정의 된 색상으로 A을 나타내며, 수

pheatmap(t(A[,5:1]),cluster_rows = F, cluster_cols = F) 

With pheatmap

image(A, col=A2) 

With image

참조 : Kolde, R. (2013). pheatmap: Pretty Heatmaps.

+0

'A <- matrix (rnorm (10), 2, 5)'를 변경했다면 이것은 효과가없는 것 같습니다. 이유를 설명해 주시겠습니까? 값의 크기 때문입니까? – lamecicle

+1

'image (행렬 (1 : 10,2,5), col = A2)'를 사용해 볼 수 있습니까? 나는'A'가 무작위 값을 포함하면'이미지'가 혼란 스럽다고 생각합니다. –

+0

나는 또한 임의의 값으로'A'를 채우려고 시도했고,'pheatmap'에 의한 올바른 색을'A2'에 넣었습니다. 나는 [this site] (http://hex-color.com/)에 체크했다. –