我试图创建一个多项目时间轴,该项目以项目的各个阶段为特征,以组织我们当前所有项目向前进展,方便可视化。在R中使用ggplot2创建多项目时间轴
我最初找到了timeline()
包,并能够半创建我所希望的。不过,看起来这个软件包并不是非常可定制的,所以我希望能够在ggplot2()
中完成我的时间表。
这里是我的假数据:
Phase Project StartDate EndDate
SD Test1 2015-08-01 2015-08-31
DD Test1 2015-08-31 2015-09-30
CD Test1 2015-09-30 2015-11-14
PC Test1 2015-11-14 2015-12-14
CA Test1 2015-12-14 2016-08-10
SD Test2 2015-09-01 2015-10-01
DD Test2 2015-10-01 2015-10-31
CD Test2 2015-10-31 2015-12-15
PC Test2 2015-12-15 2016-01-14
CA Test2 2016-01-14 2017-01-08
SD Test3 2016-01-01 2016-01-13
DD Test3 2016-01-13 2016-01-25
CD Test3 2016-01-25 2016-02-12
PC Test3 2016-02-12 2016-03-13
CA Test3 2016-03-13 2017-01-07
SD Test4 2015-06-01 2015-06-01
DD Test4 2015-06-01 2015-06-01
CD Test4 2015-06-01 2015-06-01
PC Test4 2015-06-01 2015-07-01
CA Test4 2015-07-01 2015-07-01
SD Test5 2015-05-01 2015-05-25
DD Test5 2015-05-25 2015-06-18
CD Test5 2015-06-18 2015-07-24
PC Test5 2015-07-24 2015-08-23
CA Test5 2015-08-23 2015-08-23
正如你所看到的,每个项目都有5个阶段(SD,DD,CD,PC,CA),即使一些项目(TEST4)不会有上市因为他们目前有相同的日期列出。
当我跑我的代码timeline()
,这是我的了:
data$StartDate<- as.Date(data$StartDate)
data$EndDate<- as.Date(data$EndDate)
timeline(data, text.size=4)
因此,大家可以看到,相重叠得到在某些情况下,我无法调整字体或将文本置于各自框中。
因此,我试图移动到ggplot,但无法弄清楚如何使其与此时间线类似。
到目前为止,这是我的新代码:
ggplot(data,aes(x=data$StartDate, y=data$Project)) +
geom_line()+
geom_point()+
geom_text(aes(label=data$Phase), hjust=0,vjust=0)
当前标准的,该XLIM太小,显示了几个我的项目的整个CA阶段。另外,我希望能够自定义文本,按照最近的开始日期对最新的文本进行重新排序,更改xlab和ylab以及我认为不可能在timleline()
包中进行的其他图形更改。
感谢您的任何帮助,请让我知道如果您需要任何澄清!
你真的需要在剧情的标签?因为你有很小的间隔会很困难。彩色块和传说好吗? – Heroka
@Heroka - 是的,彩色块和传说就足够了。 – medavis6