% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/animate_sets.R
\name{animate_set}
\alias{animate_set}
\alias{animate_union}
\alias{animate_union_all}
\alias{animate_intersect}
\alias{animate_setdiff}
\title{Animates a set operation}
\usage{
animate_union(x, y, export = "gif", ...)

animate_union_all(x, y, export = "gif", ...)

animate_intersect(x, y, export = "gif", ...)

animate_setdiff(x, y, export = "gif", ...)
}
\arguments{
\item{x}{the x dataset}

\item{y}{the y dataset}

\item{export}{the export type, either gif, first or last. The latter two
export ggplots of the first/last state of the join}

\item{...}{further argument passed to static_plot}
}
\value{
either a gif or a ggplot
}
\description{
Functions to visualise the set operations either static as a ggplot, or
dynamic as a gif.
}
\examples{
x <- data_frame(
  x = c(1, 1, 2),
  y = c("a", "b", "a")
)
y <- data_frame(
  x = c(1, 2),
  y = c("a", "b")
)

# Animate the first or last state of the set
animate_union(x, y, export = "first")
animate_union(x, y, export = "last")

# animate the transition as a gif (default)
\donttest{
  animate_union(x, y, export = "gif")
}

# different options include
\donttest{
  animate_union(x, y)
  animate_union_all(x, y)
  animate_intersect(x, y)
  animate_setdiff(x, y)

  # further arguments can be passed to all animate_* functions
  animate_union(
    x, y,
    text_size = 5, title_size = 25,
    color_header = "black",
    color_other = "lightblue",
    color_fun = viridis::viridis
  )
}

# Save the results
\dontrun{
  # to save the ggplot, use
  un <- animate_union(x, y, by = "id", export = "last")
  ggsave("union.pdf", un)

  animate_union(x, y, by = "id", export = "gif")
  # to save the gif, use
  un <- animate_union(x, y, by = "id", export = "gif")
  anim_save(un, "union.gif")
}
}
\seealso{
\code{\link[dplyr]{setops}}
}
