Comments (3)
Bug found, transition_states
adds an extra frame if the animation wraps.
Solution: disable wrapping
transition_states(
gear,
transition_length = 0,
state_length = 1,
wrap = FALSE
)
Perhaps disable adding extra frames if transitions are not explicitly desired?
from gganimate.
Ok still not correct, not all states are cycled and transitions are still happening (sorry for the spam):
library(ggplot2)
library(gganimate)
p <- mtcars |>
ggplot(aes(wt, mpg)) +
geom_point(
aes(
color = gear
),
size = 2
) +
transition_states(
gear,
transition_length = 0,
state_length = 1,
wrap = FALSE
) +
labs(
title = "Frame {frame}/{nframes}: Closest gear: {closest_state}"
)
n_states <- length(unique(mtcars$gear))
n_states
#> [1] 3
a <- animate(
plot = p,
nframes = n_states,
fps = 1,
detail = 1,
start_pause = 0,
end_pause = 0,
rewind = FALSE
)
a
frame_vars()
#> frame nframes progress transitioning previous_state closest_state next_state
#> 1 1 3 0.3333333 FALSE 3 3 3
#> 2 2 3 0.6666667 TRUE 3 3 4
#> 3 3 3 1.0000000 TRUE 4 4 5
#> frame_source
#> 1 C:\\Users\\LORENZ~1\\AppData\\Local\\Temp\\RtmpikQ5gg\\4d742ed529ab/gganim_plot0001.png
#> 2 C:\\Users\\LORENZ~1\\AppData\\Local\\Temp\\RtmpikQ5gg\\4d742ed529ab/gganim_plot0002.png
#> 3 C:\\Users\\LORENZ~1\\AppData\\Local\\Temp\\RtmpikQ5gg\\4d742ed529ab/gganim_plot0003.png
Created on 2023-04-19 with reprex v2.0.2
from gganimate.
I'll look into this but I also think it is somewhat of a case of using the wrong transition, since transition_states()
is explicitly for adding interpolation between states. I believe using transition_manual()
you should be able to get your desired output directly?
from gganimate.
Related Issues (20)
- Error in 'vec_rbind()': can't combine <double> and <character> HOT 4
- Animating a network graph with transition_manual - any way to make a subset of nodes remain visible throughout the animation? HOT 1
- end_pause not working properly HOT 2
- transition_reveal() messes up geom_path() in version 1.0.8 HOT 3
- `transition_reveal` and `geom_area` not working together HOT 1
- `transition_layers` and `enter_fade` not working together HOT 4
- Area chart does not render HOT 3
- Elements mixed between first and last frame
- Error: arguments have different crs HOT 24
- Fix for #409 in transition_reveal() causes some rows to be dropped when there are multiple groups in a panel HOT 1
- Missing font warnings generated by `gganimate` when using `showtext` HOT 1
- ffmpeg_renderer failing in animate HOT 2
- unused arguments with svg device when knitting
- When in knitting context, current chunk option should be used and not global one
- geom_point not displayed in order
- `enter_fade()/exit_fade()` does not seem to work. HOT 2
- Images (gifs) not shown on gganimate.com
- Legend not showing on animation
- Animate terra - maps HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gganimate.