Использование параметра frame для построения графика от ggplot до plotly - PullRequest
2 голосов
/ 07 июня 2019

Вот мои данные:

data <- data.table(year = rep(1980:1985,each = 5),
                   Relationship = rep(c(" Acquaintance","Unknown","Wife","Stranger","Girlfriend","Friend"),  5),
                   N = sample(1:100, 30)
                   )

Я могу использовать функцию plotly :: plot_ly для построения динамической карты лет, например:

plot_ly(data
        ,x=~Relationship
        ,y=~N
        ,frame=~year
        ,type = 'bar'
)

enter image description here

но когда я использую ggplot с параметром frame, я получаю ошибку Error in -data$group : invalid argument to unary operator

вот мой код ggplot:

p <- ggplot(data = data,aes(x =Relationship,y = N ))+
  geom_bar(stat = "identity",aes(frame = year))
ggplotly(p)

Можете ли вы изменить мой код ggplot для получения того же графика?

Этот пример успешно выполняется с использованием параметра кадра:

data(gapminder, package = "gapminder")
gg <- ggplot(gapminder, aes(gdpPercap, lifeExp, color = continent)) +
  geom_point(aes(size = pop, frame = year)) +
  scale_x_log10()
ggplotly(gg)
...