首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随时间使用在场/缺勤的条带图

随时间使用在场/缺勤的条带图
EN

Stack Overflow用户
提问于 2017-03-10 05:28:07
回答 1查看 386关注 0票数 0

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

这里是一些示例数据(df),其中对于任何给定的一天,它都会给出个人是否存在(1)或缺席(0)。

代码语言:javascript
复制
Day  ID1  ID2  ID3
1    1    1    0
2    0    1    1
3    0    0    0
4    1    1    1
5    1    1    1   

我试过:

代码语言:javascript
复制
stripchart(df)

这是无稽之谈

还曾尝试:

代码语言:javascript
复制
stripchart(df ~ rownames(df)  

给出了错误

我觉得有一个更好的方式来格式化数据,但我不知道如何!

任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-10 22:14:23

我设法从一个使用get ()做类似事情的人那里得到了一些代码。

数据的形式必须是(df):

代码语言:javascript
复制
Date        ID   Name
2016-08-11  1    Ray1
2016-08-12  2    Ray2
2016-08-12  3    Ray3
... etc

有了该个人的日期(或日期时间),该个人的ID号和该个人的名称(如果您希望轴有名称而不是ID号)

日期需要采用POSIXct格式

代码如下(仅针对这个答案中的3行示例数据):

代码语言:javascript
复制
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"))

其中:

代码语言:javascript
复制
scale_y_continuous(breaks=1:3, labels=c("Ray1", "Ray2", "Ray3"))

将y轴折成三个个体,并用它们的名字标记它们。

代码语言:javascript
复制
scale_x_datetime(date_minor_breaks = "day")

在每日休息时给出x轴。

代码语言:javascript
复制
scale_colour_manual(values = c("black", "black"), name = "Ray",breaks = c("Ray1", "Ray2", "Ray3") + theme(legend.position="none")

把点涂成黑色,否则会因为某种原因而变成彩虹。不过,看起来很酷:P

对不起,如果我解释过了,但我不知道我在做什么,所以我希望我能帮助其他人谁不知道他们在做什么!

如果有人有任何其他的建议,如何做这种风格的图形在条纹图,我仍然想知道!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42710905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档