Ошибка: идентично (классы, col_classes (to)) не ИСТИНА - PullRequest
2 голосов
/ 06 марта 2019

Я не могу использовать переходы из пакета gganimate из-за того, как я настраивал свои цвета от группы к группе.Мои данные организованы командой, сезоном, рангом, основным цветом, второстепенным цветом:

Team,Season,Rank,Primary,Secondary
Washington Wizards,1998,16,#e31837,#002B5C
Washington Wizards,1999,24,#e31837,#002B5C
Washington Wizards,2000,24,#e31837,#002B5C
Utah Jazz,1998,2,#F9A01B,#002B5C
Utah Jazz,1999,5,#F9A01B,#002B5C
Utah Jazz,2000,5,#F9A01B,#002B5C
Toronto Raptors,1998,28,#BA0C2F,#753BBD
Toronto Raptors,1999,19,#BA0C2F,#753BBD
Toronto Raptors,2000,9,#BA0C2F,#753BBD
San Antonio Spurs,1998,5,#000000,#c4ced4
San Antonio Spurs,1999,1,#000000,#c4ced4
San Antonio Spurs,2000,9,#000000,#c4ced4
Sacramento Kings,1998,23,#63727A,#5a2d81
Sacramento Kings,1999,9,#63727A,#5a2d81
Sacramento Kings,2000,9,#63727A,#5a2d81

И мой текущий код:

library(ggplot2)
library(gganimate)
library(transformr)
library(dplyr)

df <- read.csv('NBARH_mini.csv')
df$Primary <- as.character.factor(df$Primary)
df$Secondary <- as.character.factor(df$Secondary)



df_sort <-arrange(df,Team)
PPalette <- c(df_sort$Primary[c(1,4,7,10,13)])
SPalette <- c(df_sort$Secondary[c(1,4,7,10,13)])
TPalette <- c(PPalette,SPalette)


p <- ggplot(df_sort, aes(x = Season, y = Rank)) +
  geom_point(aes(colour = Team), size = 3, shape = 21, fill = df_sort$Secondary)+
  geom_line(aes(group = Team, color = Team))+
  scale_y_reverse()
p <- p + scale_colour_manual(values= PPalette)+
         scale_fill_manual(values = SPalette, aesthetics = "fill")

p

anim <- p + 
  transition_states(Team,
                    transition_length = 5,
                    state_length = 5)+
  ease_aes('quadratic-in-out')+ # Slow start and end for a smoother look
  ggtitle('NBA Season ending rank since Jordan',
  subtitle='Ranking History of the {closest_state}')


animate(anim +
          enter_fade() +
          exit_shrink(),
        nframes = 50, 
        width = 500, 
        height =400)

Моя цель состоит в том, чтобы иметь линейный сюжет и точкуграфик для каждой команды, где линии являются основным цветом, а точки заполнены вторым цветом.Я потратил кучу времени, пытаясь взломать это вместе, просто для сюжета, пробуя множество разных методов.Единственное, что я мог сделать, чтобы заставить его работать, - это передать df_sort$Secondary в geom_point (), и мне сказали, что это «NoNo», но я не могу заставить его построить график иначе.

И теперь, когда у меня есть эта работа, я получаю

Error: identical(classes, col_classes(to)) is not TRUE

, когда пытаюсь анимировать при использовании enter_fade()+exit_shrink().Он будет анимироваться с / без таковых, но без переходов.Вот как это выглядит в настоящее время.

https://gfycat.com/NervousComposedGrayfox

У кого-нибудь есть опыт работы с этим?

...