2015-03-25 135 views
1

对于几个主题,我试图绘制一个彩色时间线,其中每种颜色代表一个状态。我创建了一些随机数据来向你展示我的意思。创建彩色线条

require(dplyr) 
require(ggplot2) 
df=data_frame(subject=factor(rep(1:4,each=100)), 
       time=rep(1:100,4), 
       state=sample(letters[1:4],400,replace=TRUE)) %>% 
    group_by(subject) %>% 
    mutate(time=time+round(runif(1,min=0,max=20))) 

ggplot(df,aes(x=subject,y=time,color=state,group=1)) + 
    geom_line(size=10)+coord_flip() 

the image I have so far

的问题是从一个主题到另一个线。我尝试在每行的末尾添加非数字值或NULL,但这不起作用。有谁知道一种方法来删除对角线? (欢迎提供其他方式来制作同一种情节。)

回答

1

group美学对此负责。添加group = subject将帮助:

ggplot(df,aes(x=subject,y=time,color=state,group=subject)) + 
    geom_line(size=10)+coord_flip() 

enter image description here