我正在尝试将垂直线添加到每月显示计数数据的ggplot
。我的x轴是月份的一个因素,但我的垂直线代表朱利安天。
例如,使用这些数据:
dat <- structure(list(Month = structure(1:12, .Label = c("Jan", "Feb",
"Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov",
"Dec"), class = c("ordered", "factor")), Data = c(1, 1, 2, 2,
6, 11, 19, 23, 19, 13, 5, 1)), .Names = c("Month", "Data"), class = "data.frame", row.names = c(NA,
-12L))
我可以制作以下条形图
ggplot(dat)+ geom_bar(aes(x= Month, y = Data), stat="identity")
如何使用geom_vline
添加两条垂直线,其中x截距为Julian day 68和252?
我不确定如何在月度(因子)x轴数据上绘制引用连续比例的线。
答案 0 :(得分:2)
当您的x
轴为factor
时,geom_vline
将使用每个值的外观顺序作为截距。
然后,您只需要确定哪个分数与您要查找的确切日期相对应。在这个例子中,我使用了两个说明性的分数。
ggplot(dat)+ geom_bar(aes(x= Month, y = Data), stat="identity") +
geom_vline(xintercept = 5.2) +
geom_vline(xintercept = 8.7)
答案 1 :(得分:2)
每月使用一个单位绘制数据,因此您需要将该行添加为年中的一小部分(以月为单位),并为条形大小添加一些偏移量:
ggplot(dat) +
geom_bar(aes(x = Month, y = Data), stat = "identity") +
geom_vline(xintercept = 12 * (c(68, 252) / 365) + 0.5)
通过查看第1天和第365天的行来检查:
ggplot(dat) +
geom_bar(aes(x = Month, y = Data), stat = "identity") +
geom_vline(xintercept = 12 * (c(1, 365) / 365) + 0.5)
每隔一天将在图表中进行线性插值。