Я пытаюсь создать многопроектную шкалу времени, которая включает в себя различные этапы проекта, чтобы организовать все наши текущие проекты, проходящие вперед в одном удобном для визуализации месте.Создание многопроектной шкалы времени с использованием ggplot2 в R
Первоначально я нашел пакет 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 слишком мал, чтобы показать всю фазу ЦС пару моих проектов. Кроме того, я надеюсь, что смогу настроить текст, изменить его на ближайшую дату начала до последней версии, изменить xlab и ylab и другие графические изменения, которые, как я считаю, возможны в пакете timleline()
.
Спасибо за любую помощь и, пожалуйста, дайте мне знать, если вам нужно какое-либо разъяснение!
вам действительно нужны этикетки в сюжете ли? Потому что это будет довольно сложно с небольшими интервалами, которые у вас есть. Являются ли цветные блоки и легенда ок? – Heroka
@ Heroka - Да, цветных блоков и легенд будет достаточно. – medavis6