我有一個數據集隨着時間(日期)有兩個變量(Tb和Ta)。看起來像這樣:根據因子水平的陰影ggplot2背景
` Date Tb Ta Light
1 2015-02-15 01:13:00 36.103 22.751 nightime
2 2015-02-15 01:55:00 36.103 22.626 nightime
3 2015-02-15 02:37:00 35.605 22.626 nightime
4 2015-02-15 03:19:00 35.605 22.751 nightime
5 2015-02-15 04:01:00 36.103 23.001 nightime
6 2015-02-15 04:43:00 35.605 22.876 nightime`
我想在「Light」因素中爲不同級別的陰影做陰影。所以'Light'中的'nightime'的所有點都會以灰色陰影,而'白天'會變成白色。事情是這樣的:
有沒有辦法讓geom_rect()
一個因子水平的工作?我需要所有的點編碼爲帶有灰色背景陰影「被安排到」 ......
我嘗試以下基於Using ggplot2 in R, how do I make the background of a graph different colours in different regions?
ggplot() + geom_rect(data=tbdf, (aes(xmin=Date,
xmax=Date, ymin=min(Tb), ymax=max(Tb), fill=Light))) +
geom_line(data = tbdf, aes(x = Date, y = Tb)) +
geom_line(data = tbdf, aes(x = Date, y = Ta), colour='grey') +
xlab('Date') +
ylab('Temperature (°C)')
,並將其與傳說爲輕,但仍平時灰色陰影結束:
有什麼建議?
我的意思是'aes(NULL,NULL)'不在你所關注的例子中,看起來很奇怪。我會擺脫這一點。 – Gregor
我沒有嘗試過,並刪除了-0.5和+0.5的X最大和最小它仍然使它全部是一種顏色(Nightime之一)。我編輯了該帖子以將其刪除。 –
如果你想用'dput()','dput(head(tbdf,20))'分享你的數據,那麼複製/粘貼在你的POSIX日期時間裏讀取是一個真正的痛苦。還要確保您顯示足夠的數據,以便它不是全部的夜間。真正的解決方案可能是創建一個摘要數據框架,該框架每天都有過渡點,每天繪製2個矩形,而不是每個數據行的1個矩形。 – Gregor