For plotting animation see https://github.com/thomasp85/gganimate and https://www.datanovia.com/en/blog/gganimate-how-to-create-plots-with-beautiful-animation-in-r/
mypath <- "C://Users//np83zg//OneDrive - Aalborg Universitet//Skrivebord//kommunedata//data"
setwd(mypath)
library(data.table)
library(tmap)
library(sf)
## Linking to GEOS 3.8.0, GDAL 3.0.4, PROJ 6.3.1
mydata <- as.data.table(read.table("bef_tab1.txt"))
setkey(mydata,residence,year)
mydata[,N_t:=sum(n),by=.(year)]
mydata[,s_t:=100*n/N_t]
mydata[,ds_t:=s_t-s_t[1],by=.(residence)]
mydata[,index:=-ds_t[length(ds_t)],by=.(residence)]
T <- length(table(mydata$year))
setkey(mydata,index,year)
mydata[,id:=rep(1:98,each=T)]
library(ggplot2)
library(gganimate)
## Warning: package 'gganimate' was built under R version 4.0.3
theme_set(theme_bw())
p <- ggplot(
mydata,
aes(x =id, y=ds_t, colour = as.factor(residence))
) +
geom_point(show.legend = FALSE, alpha = 0.7) +
scale_color_viridis_d() +
scale_size(range = c(2, 12)) +
labs(x = "Municipality ID", y = "Change in pop. share relative to year 1987") +
transition_time(year) +
labs(title = "Year: {frame_time}") +
shadow_mark(alpha = 0.3, size = 0.5)
setwd("C://Users//np83zg//OneDrive - Aalborg Universitet//Skrivebord//kommunedata//scripts")
anim_save("p.gif",p)
cities <- c(101,461,751,851)
foo <- mydata[!residence%in%cities,]
p <- ggplot(
foo,
aes(x =id, y=ds_t, colour = as.factor(residence))
) +
geom_point(show.legend = FALSE, alpha = 0.7) +
scale_color_viridis_d() +
scale_size(range = c(2, 12)) +
labs(x = "Municipality ID", y = "Change in pop. share relative to year 1987") +
transition_time(year) +
labs(title = "Year: {frame_time}") +
shadow_mark(alpha = 0.3, size = 0.5)
setwd("C://Users//np83zg//OneDrive - Aalborg Universitet//Skrivebord//kommunedata//scripts")
anim_save("p2.gif",p)