对于几个主题,我试图绘制一个彩色时间轴,其中每种颜色代表一种状态。我创建了一些随机数据来向您展示我的意思。
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()
问题是从一个主题到另一个主题的行。我尝试在每行的末尾添加非数字值或NULL,但这不起作用。有谁知道删除对角线的方法? (欢迎使用替代方法制作相同类型的情节。)
答案 0 :(得分:1)
group
美学对此负有责任。添加group = subject
会有所帮助:
ggplot(df,aes(x=subject,y=time,color=state,group=subject)) +
geom_line(size=10)+coord_flip()