我有一个 ggplot2 图,x 轴上有日期时间,y 轴上有分类。我需要在 x 轴上的某些日期放置 9 个文本注释,但没有空间将注释放在图形本身内。我想将自动生成的日期保留在 x 轴上,并添加我的自定义标签。我不在乎他们是在顶部还是底部。
下面的合成示例。我有 9 个事件,以及导致这些事件的大量活动。我想在每个事件下方放置一个指示事件名称的文本标签。例如,在 2 月 11 日午夜的数据中,我希望在某处有一个标有“事件 1”的标签。
events <- data.frame(names=c("Event 1", "Event 2", "Event 3", "Event 4", "Event 5", "Event 6", "Event 7", "Event 8", "Event 9"),
dates=strptime(c("2013-02-10 11:59 pm", "2013-02-21 11:59 pm", "2013-03-02 11:59 pm", "2013-03-16 11:59 pm", "2013-03-26 12:00 pm", "2013-04-11 11:59 pm", "2013-04-24 11:59 pm", "2013-04-23 11:59 pm", "2013-05-08 12:00 pm")
, "%Y-%m-%d %I:%M %p"))
units <- replicate(125, paste(sample(LETTERS, 8), collapse=""))
n <- 2000
df <- data.frame(name=sample(units, n, replace=TRUE),
d=(sample(events$dates, n, replace=TRUE)-rexp(n, 1/150000)),
value=rexp(n, 1/110))
ggplot(data=df, aes(x=d, y=name)) +
geom_point(alpha=I(1/2), aes(size=log(value))) +
ylab("Each row is one unit") +
xlab("Date") +
theme(legend.position="none", legend.direction="horizontal",
axis.text.y=element_blank(),
axis.ticks.y=element_blank(),
axis.line.y=element_blank(),
panel.grid.major.y=element_blank(),
panel.grid.minor.y=element_blank())