Я пытаюсь анимировать сложную линейную диаграмму в ggplot2.Анимация ggplot2 сложенная линейная диаграмма в R
Вот сюжет я хотел бы анимировать:
Вот код, чтобы создать подобный сюжет:
#Data
mydata <- data.frame(year=rep(1:6, times=4),
activity=as.factor(rep(c("research","coursework","clinical work","teaching"), each=6)),
time=c(40, 35, 40, 60, 85, 90,
50, 40, 10, 0, 5, 0,
5, 20, 20, 40, 10, 10,
5, 5, 30, 0, 0, 0))
mydata$activity <- ordered(mydata$activity, levels = c("research","clinical work","coursework","teaching"))
labels <- data.frame(activity=c("research","coursework","clinical work","teaching"),
xaxis=c(5, 1.8, 2.5, 2.97),
yaxis=c(25, 70, 48, 90))
#Plot
ggplot(mydata, aes(x=year, y=time, fill=activity)) +
geom_area(stat="smooth", span=.35, color="black") +
theme(legend.position = "none") +
geom_text(data=labels, aes(x=xaxis, y=yaxis, label=activity)) +
ggtitle("Time in Different Activities by Year in Program") +
ylab("Percentage of Time") +
xlab("Year in Program")
Я ищу для первого изображения для отображения всех осей и текста , Вторая итерация, я хотел бы постепенно раскрывать с течением времени, слева направо, линию исследований «Исследование» (включая цвет и границу). Третья итерация, я хотел бы постепенно раскрыть слева направо линию «Клиническая работа». В-четвертых, линия «Курсовая работа». И, наконец, «Обучающая» сложная линия.
В идеале формат вывода будет очень плавным (без зубчатых переходов) и будет совместим с PowerPoint.
Это возможность. Я не уверен, как построить отдельную итерацию. Как бы я построил каждую итерацию отдельно? Т.е., как бы я построил 1) только диаграмму «Исследование», затем 2) как линейные диаграммы «Исследования», так и «Клиническая работа», а затем 3) «Исследования», «Клиническая работа» и «Курсовая работа», линейные диаграммы? – dadrivr
Вы можете попытаться построить на соответствующих подмножествах данных, которые могут быть получены, например. 'subset (mydata, activity% in% c ('research', 'coursework'))' –
Это работало с использованием перехода «стереть» в powerpoint (протирание слева направо). Благодаря! – dadrivr