Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with ggplot2 and gganimate #5161

Closed
avrenli2 opened this issue Jan 26, 2023 · 2 comments
Closed

Error with ggplot2 and gganimate #5161

avrenli2 opened this issue Jan 26, 2023 · 2 comments

Comments

@avrenli2
Copy link

The animated chart does not render properly and it creates the following error messages:

Error occurred in the 1st layer.
Caused by error in unit():
'x' and 'units' must have length > 0
Problem while converting geom to grob.

library(ggplot2)
library(Rcpp)
library(gifski)
library(gganimate)
library(transformr)

library(quantmod)
CHAI <- getSymbols("SBUX" , from="2020-1-1" , to="2021-1-1" , auto.assign=F) 

CATROON <- ggplot(CHAI, aes(y=SBUX.Close,x=index(CHAI)))+
  geom_area(color="pink", size=1.2 , fill="pink" , alpha=0.3)+
  geom_point(color="#8F157E", size=4)+
  labs(x="Time", y="Close Price")+
  theme_bw() + transition_reveal(index(CHAI))  

animate(CARTOON, duration=7 , fps = 30)
@teunbrand
Copy link
Collaborator

A more minimal reprex:

library(ggplot2)
library(gganimate)

p <- ggplot(economics, aes(date, unemploy)) +
  geom_area() +
  transition_reveal(date)

animate(p, duration = 1, fps = 30)
#> Warning: Cannot get dimensions of plot table. Plot region might not be fixed
#> Warning: Problem while converting geom to grob.
#> ℹ Error occurred in the 1st layer.
#> Caused by error in `unit()`:
#> ! 'x' and 'units' must have length > 0

Created on 2023-01-26 with reprex v2.0.2

I think the problem can be fixed by setting stat = "identity".

library(ggplot2)
library(gganimate)

p <- ggplot(economics, aes(date, unemploy)) +
  geom_area(stat = "identity") +
  transition_reveal(date)

animate(p, duration = 1, fps = 30)

Created on 2023-01-26 with reprex v2.0.2

But I'm not sure why gganimate errors with the default stat = "align".

@teunbrand
Copy link
Collaborator

I think this is probably something that ought to be fixed on gganimate's side, so I'm closing this in favour of thomasp85/gganimate#476.

@teunbrand teunbrand closed this as not planned Won't fix, can't repro, duplicate, stale Jul 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants