【发布时间】:2019-09-02 11:50:27
【问题描述】:
我正在使用ggplot2 创建一个图表,该图表在 x 轴(即 1000 年前)上取日期,在 y 轴上取概率。我想通过不同颜色的图形区域来区分不同的时间段。我在这里存储了以下日期:
paleo.dates <- c(c(13500,8000), c(13500,10050) ,c(10050,9015),
c(9015,8000), c(8000,2500), c(8000,5500), c(5500,3500), c(3500,2500),
c(2500,1150), c(2500,2000), c(2000,1500), c(1500,1150), c(1150,500))
我想取一个时间段,比如 13500 到 8000,并对其进行颜色编码,直到它与另一个日期重叠,例如第三个条目。
我正在使用 ggplot2 作弊工具,我尝试使用 aes(fill = paleo.dates),但这不起作用,因为它与我的数据集长度不同。我也在考虑使用+ geom_rect() 手动填充这些区域,但这似乎不太优雅,我不确定它是否会起作用。
感谢任何建议,谢谢。
【问题讨论】:
-
“直到它与另一个日期重叠”是什么意思?第二个条目不也与第一个重叠吗?在这些重叠中会发生什么?根据日期在一组互斥范围内的位置更改阴影应该很容易。
-
是的,一开始日期有点像,我想制作某种渐变颜色来表示重叠,但也不知道该怎么做。如何在互斥范围内更改阴影?使用 geom_rect() 不是很令人满意,所以如果有一个聪明的方法会很整洁。
-
创建一列标识每一行的范围(例如,使用 case_when),并根据该列进行填充