我想根據日期和小時在熱圖上繪製連續變量(稱爲值)。在R熱圖中填充空方塊
我顯示我data.frame的頭:
> 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()
輸出:
問題:我需要填補空方(沒有NA值)在熱圖的黑色色塊。
解決方案:
data = data %>% complete(hour, nesting(day))
後來加入na.value = 'color'
到scale_fill_continuous
功能。
你可以在'theme'黑色使用'panel.background'顏色整個面板。或者,您可以展開數據集,以便存在「日期」和「小時」的所有組合(但缺少NA)。對於後一種選擇,你可以使用'tidyr :: complete'之類的東西。 – aosmith
非常感謝@aosmith。我從來沒有使用過這個庫,但我知道它。解決方案:data%>%complete(小時,嵌套(日))並將na.value ='color'添加到scale_fill_continuous函數。 –