Почему на этом игровом графике показано несколько точек? - PullRequest
0 голосов
/ 10 июля 2020

Итак, я пытаюсь построить эти данные с помощью gganimate:

YEAR WEEK COUNTRY CODE    MARKET          ARRIVALS   DATE        pct.chg
2020    1   Usa   US     CONTAINER SHIPS    347    2020-01-08    7.7639752
2020    2   Usa   US     CONTAINER SHIPS    395    2020-01-15   -2.2277228
2020    3   Usa   US     CONTAINER SHIPS    353    2020-01-22   -15.1442308
2020    4   Usa   US     CONTAINER SHIPS    359    2020-01-29   -11.3580247
2020    5   Usa   US     CONTAINER SHIPS    385    2020-02-05    0.2604167

Данные находятся в объекте под названием changesimp. Как и следовало ожидать, я хочу построить график прибытий с течением времени. Вот код, который я использую для этого:

library(tidyverse)
library(gganimate)    
changesimp %>% 
      filter(COUNTRY == "Usa") %>% 
      filter(YEAR == "2020") %>% 
      ggplot(aes(DATE, pct.chg)) +
      geom_line() +
      geom_point()+
      labs(y="Year-over-year % change",
           x="",
           title="Percent change in port calls")+
      theme_clean()+
      transition_reveal(DATE)

Это нормально работало, когда я просто использовал geom_line. Но когда я добавил часть geom_point, все стало немного странно, и он дал мне следующий результат (это всего лишь один кадр из анимации):

enter image description here

What I'm trying to get is something like this, здесь : введите описание изображения здесь

Есть только одно значение pct.chg в неделю, я уже проверял. Поэтому я не уверен, почему он рисует несколько таких точек. Есть предположения? Спасибо.

1 Ответ

0 голосов
/ 12 июля 2020

Когда я использую фиктивные данные как

df <- data.frame(
  COUNTRY = c(rep("Usa",26)),
  YEAR = c(rep("2020",26)),
  WEEK = c(1:26),
  pct.chg = c(rnorm(26,0,15))
)

changesimp <- df %>%  mutate(DATE=(7*WEEK+as.Date('2020-01-01', format="%Y-%m-%d")))

Ваша программа работает нормально и генерирует следующий результат:

вывод

...