2017-04-10 11 views
0

요일과 시간에 따라 히트 맵에 연속 변수 ()를 표시하려고합니다.R- 히트 맵에서 빈 사각형 채우기

> data 
     value hour  day 
1 4.0775374 17 martes 
2 5.9107966 13 martes 
3 3.9318256 12 martes 
4 2.9444390 10 martes 
5 4.9767337 17  lunes 
6 3.7841896 13  lunes 
7 4.9904326 11  lunes 
8 3.1780538 20 domingo 
9 2.9444390 19 domingo 
10 3.6635616 16 domingo 
11 2.7080502 14 domingo 
12 2.8903718 21 sábado 
13 2.0794415 15 sábado 
14 4.3944492 14 sábado 
15 2.1972246 12 sábado 
16 2.0794415 12 sábado 
17 1.9459101 11 sábado 
18 4.3694479 19 viernes 
19 3.5835189 11 viernes 
20 2.9957323 19 jueves 
21 2.4849066 15 jueves 
22 3.7376696 13 jueves 
23 2.1972246 11 jueves 
24 2.0794415 10 jueves 
25 5.6664267 20 miércoles 
26 6.1800167 18 miércoles 
.. ...   .. ....... 
186 2.5649494 13 domingo 

R 코드 :

ggplot(data = data,aes(x=day, y=hour, fill=value)) + 
geom_tile() + 
scale_fill_continuous(low = 'yellow', high = 'blue')+ 
theme_classic() 

출력 :

HeatmapR

,369

나는 나의 data.frame의 헤더을 보여

문제점 : 히트 맵에서 검은 색 사각형이있는 빈 사각형 (이 아닌 값은)을 채워야합니다.

솔루션 : scale_fill_continuous 기능에 na.value = 'color'를 추가 나중에

data = data %>% complete(hour, nesting(day)) 

.

+0

당신은 theme' '에서 검은 색으로 사용'panel.background'에 전체 패널의 색상 수 있습니다. 또는'date'와'hour'의 모든 조합이 존재하도록 데이터 셋을 확장 할 수 있습니다 (그러나 누락은 NA입니다). 후자의 옵션에'tidyr :: complete'와 같은 것을 사용할 수 있습니다. – aosmith

+0

고마워요 @aosmith. 나는이 라이브러리를 사용한 적이 없지만 그것을 알고있었습니다. 솔루션 : data %> % 완료 (시간, 중첩 (일)) 및 scale_fill_continuous 함수에 na.value = 'color'를 추가하십시오. –

답변

0

거의 다 왔어! 다만이 같은 scale_fill_continuous처럼 na.value = 'salmon' 또는 어떤 색상 추가 :

ggplot(data = data,aes(x=day, y=hour, fill=value)) + 
geom_tile() + 
scale_fill_continuous(low = 'yellow', high = 'blue', na.value = 'salmon')+ 
theme_classic() 
+0

답변 해 주셔서 감사합니다. 하지만 내 data.frame에는 NA 값이 없습니다. 제가 빈 사각형을 말할 때, 저는 연속 변수에 아무런 가치가없는 시시와 시간을 의미합니다. –

+0

데이터 프레임에는 포함되지 않습니다. 예를 들어, (day = "domingo", hour = "day") my data.frame에 존재하지 않습니다. –