R Графически анимированная диаграмма, показывающая только группы с данными в начальном кадре

Я пытаюсь создать анимированную пузырьковую диаграмму, используя plotly в R, и столкнулся с особенно сложной проблемой.

library(plotly)
dates <- 2000:2010
countries <- c("US", "GB", "JP")
df <- merge(dates, countries, all=TRUE)
names(df) <- c("Date", "Country")


df$x <- rnorm(nrow(df))
df$y <- rnorm(nrow(df))

df[1:3, c("x", "y")] <- NA

p <- plot_ly(df, x=~x, y=~y, color=~Country, frame=~Date, type="scatter", mode="markers")
p

Из-за пропущенных значений за первые 3 года для США полученный график вообще не включает точку США, даже для тех лет, по которым данные по США имеются.

Скриншот полученной диаграммы


person Jeremy Bowyer    schedule 13.06.2018    source источник


Ответы (1)


Я не знаю, как исправить это с помощью plotly, но если вас устраивает ggplotly, похоже, это сработает:

p <- ggplot(df, aes(x, y, color = Country)) +
  geom_point(aes(frame = Date)) + theme_bw()

ggplotly(p)
person MLavoie    schedule 13.06.2018
comment
Похоже, это помогает, по крайней мере, в приведенном мной примере кода. Я применю его к своему фактическому проекту и посмотрю, сработает ли это. Большое спасибо. - person Jeremy Bowyer; 13.06.2018