尝试在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)
哪会出错?
我觉得有一种更好的格式化数据的方法,但我不知道如何!
非常感谢任何帮助!
答案 0 :(得分:0)
我设法从使用ggplot()
做类似事情的人那里得到了一些代码数据需要采用(df)形式:
Date ID Name
2016-08-11 1 Ray1
2016-08-12 2 Ray2
2016-08-12 3 Ray3
... etc
个人所在的日期(或日期时间),个人的身份证号码和个人姓名(如果您希望轴具有姓名而不是身份证号码)
日期必须采用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
很抱歉,如果我解释过但我不知道我在做什么,所以我希望我能帮助别人不知道他们在做什么!
如果有人对如何在条形图中执行此图形样式有任何其他建议,我仍然想知道!
答案 1 :(得分:0)