创建彩色线条

时间:2015-03-25 12:32:24

标签: r ggplot2

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

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 个答案:

答案 0 :(得分: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