试图制作一个与R中类似的条带图:

这里是一些示例数据(df),其中对于任何给定的一天,它都会给出个人是否存在(1)或缺席(0)。
Day ID1 ID2 ID3
1 1 1 0
2 0 1 1
3 0 0 0
4 1 1 1
5 1 1 1 我试过:
stripchart(df)这是无稽之谈
还曾尝试:
stripchart(df ~ rownames(df) 给出了错误
我觉得有一个更好的方式来格式化数据,但我不知道如何!
任何帮助都是非常感谢的!
发布于 2017-03-10 22:14:23
我设法从一个使用get ()做类似事情的人那里得到了一些代码。
数据的形式必须是(df):
Date ID Name
2016-08-11 1 Ray1
2016-08-12 2 Ray2
2016-08-12 3 Ray3
... etc有了该个人的日期(或日期时间),该个人的ID号和该个人的名称(如果您希望轴有名称而不是ID号)
日期需要采用POSIXct格式
代码如下(仅针对这个答案中的3行示例数据):
plot<-ggplot()+ geom_point(data=df, aes(df$Date, y=ID,colour = Name),shape = 19, size = 2)+ scale_y_continuous(breaks=1:3, labels=c("Ray1", "Ray2", "Ray3"))+ scale_x_datetime(date_minor_breaks = "day")+ xlab("Date") + ylab(NULL)+ theme(legend.position="none")+scale_colour_manual(values = c("black", "black"), name = "Ray",breaks = c("Ray1", "Ray2", "Ray3") + theme(legend.position="none"))其中:
scale_y_continuous(breaks=1:3, labels=c("Ray1", "Ray2", "Ray3"))将y轴折成三个个体,并用它们的名字标记它们。
scale_x_datetime(date_minor_breaks = "day")在每日休息时给出x轴。
scale_colour_manual(values = c("black", "black"), name = "Ray",breaks = c("Ray1", "Ray2", "Ray3") + theme(legend.position="none")把点涂成黑色,否则会因为某种原因而变成彩虹。不过,看起来很酷:P
对不起,如果我解释过了,但我不知道我在做什么,所以我希望我能帮助其他人谁不知道他们在做什么!
如果有人有任何其他的建议,如何做这种风格的图形在条纹图,我仍然想知道!
https://stackoverflow.com/questions/42710905
复制相似问题