% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/mr_scatter_class.R
\name{export_scatter_plots}
\alias{export_scatter_plots}
\title{Export MR Scatter Plots to Disk}
\usage{
export_scatter_plots(
  object,
  save_dir = tempdir(),
  file_type = "png",
  width = 8,
  height = 6,
  outcome = NULL,
  exposure = NULL
)
}
\arguments{
\item{object}{An \code{MRScatterPlots} object returned by
\code{plot_mr_scatter()}.}

\item{save_dir}{Character string; directory to write files into.
Must exist. Defaults to \code{tempdir()}.}

\item{file_type}{Character string; output format passed to the
corresponding \code{grDevices} device. One of \code{"pdf"},
\code{"png"}, \code{"jpeg"}, or \code{"tiff"}.
Default is \code{"png"}.}

\item{width}{Numeric; plot width in inches. Default is \code{8}.}

\item{height}{Numeric; plot height in inches. Default is \code{6}.}

\item{outcome}{Optional character string; if supplied, only plots
whose outcome matches this value are exported.}

\item{exposure}{Optional character string; if supplied, only plots
whose exposure matches this value are exported.}
}
\value{
Invisibly returns \code{object} so calls can be chained.
}
\description{
Saves plots stored in an \code{MRScatterPlots} object to a directory.
You can export all plots or filter to a specific outcome, a specific
exposure, or a specific outcome-exposure pair.
}
\details{
Filtering logic:
\itemize{
  \item \strong{Both \code{outcome} and \code{exposure} supplied} — exports
    the single plot for that exact pair.
  \item \strong{\code{outcome} only} — exports all exposures for that
    outcome.
  \item \strong{\code{exposure} only} — exports all outcomes for that
    exposure.
  \item \strong{Neither supplied} — exports every plot in the object.
}
File names follow the pattern
\code{Scatter_<Outcome>_<Exposure>.<file_type>} with spaces replaced
by underscores.
}
\examples{
\donttest{
data("fi_49item")
input1   <- harmonize_mr_data(df = fi_49item)$input_df
outcome1 <- run_mr_analysis(MR_input_data = input1)
plots    <- plot_mr_scatter(MR_input_data = input1, summary_df = outcome1)

# Inspect what is stored; for fi_49item this prints:
#   [1] fi_49item :: Zn

# Retrieve the exact outcome/exposure labels stored in the object
out_name <- plots@outcomes[1]   # "fi_49item"
exp_name <- plots@exposures[1]  # "Zn"

# Export all plots to tempdir() (commented — writes to disk)
export_scatter_plots(plots, save_dir = tempdir())

# Export one outcome only
export_scatter_plots(plots, save_dir = tempdir(), outcome = out_name)

# Export one exposure only
export_scatter_plots(plots, save_dir = tempdir(), exposure = exp_name)

# Export one specific pair
export_scatter_plots(plots, save_dir = tempdir(), outcome = out_name, exposure = exp_name)
}
}
