Анимированный барплот через gganimate: конфликт view_follow &ordin_flip - PullRequest
0 голосов
/ 12 февраля 2019

Я хочу создать анимированную диаграмму с пакетом gganim.Координаты диаграммы должны быть перевернуты с помощью coord_flip (т.е. горизонтальные столбцы), а ось x должна быть гибкой в ​​зависимости от длины столбцов с помощью view_follow.

. Рассмотрим следующие примеры данных:

# Create example data
df <- data.frame(ordering = c(rep(1:3, 2), 3:1, rep(1:3, 2)),
                 year = factor(sort(rep(2001:2005, 3))),
                 value = round(runif(15, 0, 100)),
                 group = rep(letters[1:3], 5))

Если я создаю анимированную диаграмму без coord_flip, все работает нормально:

library("gganimate")
library("ggplot2")

# Create animated ggplot without coord_flip
ggp <- ggplot(df, aes(x = ordering, y = value)) +
  geom_bar(stat = "identity", aes(fill = group)) +
  transition_states(year, transition_length = 2, state_length = 0) +
  view_follow(fixed_x = TRUE) # +
  # coord_flip()
ggp

enter image description here

Однако,если я добавлю coord_flip, оси будут перемещаться из стороны в сторону без какой-либо причины:

# Create animated ggplot with coord_flip
ggp2 <- ggplot(df, aes(x = ordering, y = value)) +
  geom_bar(stat = "identity", aes(fill = group)) +
  transition_states(year, transition_length = 2, state_length = 0) +
  view_follow(fixed_x = TRUE) +
  coord_flip()
ggp2

enter image description here

Вопрос: Как могЯ переворачиваю ось моего графа и включаю гибкую ось?

1 Ответ

0 голосов
/ 22 апреля 2019

Вы можете рассмотреть geom_barh из пакета ggstance вместо geom_bar + coord_flip:

library(ggstance)

ggplot(df, aes(y = ordering, x = value)) +
  geom_barh(stat = "identity", aes(fill = group)) +
  transition_states(year, transition_length = 2, state_length = 0) +
  view_follow(fixed_y = TRUE)

animated plot

...