以下是一些虚拟数据:
dummy <- data.frame(numbers = 1:5,
symptomdate = as.Date(c("2012-08-30", "2012-08-30", "2012-08-31", "2012-09-01", "2012-09-01")),
reporteddate = as.Date(c("2012-09-02", "2012-09-03", "2012-09-05", "2012-09-07", "2012-09-08")),
dateofdeath = as.Date(c("2012-09-10", NA, NA, NA, "2012-09-31")),
gender = c("Female", "Male", "Male","Female", "Male"),
position = c("Resident", "Staff", "Resident", "Staff", "Staff"),
outbreakdate = as.Date(c("2012-08-31","2012-08-31","2012-08-31","2012-08-31","2012-08-31")))
这里有5种疾病,每例代表数据框中的一行。我想创建一个直方图,在x轴上标记症状日期,并在y轴上标记病例数。我还需要一个堆叠的条形图,以便于工作人员用例以一种颜色显示,而常驻用例以另一种颜色显示。
到目前为止,这是我所拥有的,但是我不确定如何使y轴成为计数(而不是使用as.numeric,这不是我想要的)。.
ggplot(dummy, aes(fill=position, y=as.numeric(symptomdate), x=symptomdate)) +
geom_bar(position="stack", stat="identity")
我也希望图表上出现一个标记为“破节日期”的标记,即标记2012年8月31日的一行:* edit,例如:line above outbreak date
非常感谢您!
答案 0 :(得分:0)
好像已经解决了ggplot问题:https://github.com/tidyverse/ggplot2/issues/4205。如果您设置栏的宽度应该会起作用
ggplot(dummy, aes(x=symptomdate, fill=position)) +
geom_bar(width=.9)