2014-06-30 27 views
-2

對於下面數據計數器圖表

time<- c(1:10) 
age<- c(11:20) 
dummy<-c(0,0,1,0,0,0,0,0,0,0) 
d<- data.frame(time, age,dummy) 

我想創建包括的堆疊橫向跨越圖10米的寬度的矩形的圖形,與對應於虛設的矩形的顏色= 1映射到年齡,並打印年齡標籤。看起來像 enter image description here

我「米創造了時間序列剖面圖,並希望創建和自動的‘計數器’,將顯示我在時的位置。這種‘計數器’圖形將被堆疊在頂部另一方面,更復雜,圖表,都連接到計數器變量

問題:?

什麼是與GGPLOT2創建這樣的圖形,最好的策略

+0

請分享到目前爲止,你已經嘗試和你在哪裏運行到問題的繪圖代碼。 – josliber

回答

1

這至少是一個開始,我將使用geom_time來畫正方形

library(ggplot2) 

ggplot(d, aes(x=factor(time), y=factor(1), fill=factor(dummy))) + 
    geom_tile(color="black") + 
    geom_text(data=subset(d, dummy==1), aes(x=factor(time), y=factor(1), label=age)) + 
    scale_fill_manual(values=c("0"="white", "1"="green"), guide="none") + 
    scale_x_discrete(expand=c(0,0)) + scale_y_discrete(expand=c(0,0)) + 
    theme_minimal() 

enter image description here

+0

是的,這正是我一直在尋找的!我開始考慮堆積條形圖,無法擺脫這種思維框架。謝謝,@MrFlick! – andrey