% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/builder.R
\name{Builder}
\alias{Builder}
\title{Build a Graphic}
\description{
Builds and renders a \link{Graphic} using a \link{Renderer}.
}
\section{Super class}{
\code{\link[ggr6:Graphic]{ggr6::Graphic}} -> \code{Builder}
}
\section{Methods}{
\subsection{Public methods}{
\itemize{
\item \href{#method-new}{\code{Builder$new()}}
\item \href{#method-set_renderer}{\code{Builder$set_renderer()}}
\item \href{#method-build_init}{\code{Builder$build_init()}}
\item \href{#method-build}{\code{Builder$build()}}
\item \href{#method-render}{\code{Builder$render()}}
\item \href{#method-prepare_data_and_scales}{\code{Builder$prepare_data_and_scales()}}
\item \href{#method-compute_statistics}{\code{Builder$compute_statistics()}}
\item \href{#method-compute_positions}{\code{Builder$compute_positions()}}
\item \href{#method-map_non_position_scales}{\code{Builder$map_non_position_scales()}}
\item \href{#method-finish_data}{\code{Builder$finish_data()}}
\item \href{#method-train_facet}{\code{Builder$train_facet()}}
\item \href{#method-create_panels}{\code{Builder$create_panels()}}
\item \href{#method-create_plot_data}{\code{Builder$create_plot_data()}}
\item \href{#method-split_layer_data}{\code{Builder$split_layer_data()}}
\item \href{#method-map_data_columns}{\code{Builder$map_data_columns()}}
\item \href{#method-add_missing_scales}{\code{Builder$add_missing_scales()}}
\item \href{#method-scale_transform}{\code{Builder$scale_transform()}}
\item \href{#method-scale_train_position}{\code{Builder$scale_train_position()}}
\item \href{#method-scale_map_position}{\code{Builder$scale_map_position()}}
\item \href{#method-setup_stat_data}{\code{Builder$setup_stat_data()}}
\item \href{#method-stat_compute}{\code{Builder$stat_compute()}}
\item \href{#method-map_stat_columns}{\code{Builder$map_stat_columns()}}
\item \href{#method-add_position_scales}{\code{Builder$add_position_scales()}}
\item \href{#method-position_compute}{\code{Builder$position_compute()}}
\item \href{#method-scale_retrain_position}{\code{Builder$scale_retrain_position()}}
\item \href{#method-finalize_panels}{\code{Builder$finalize_panels()}}
\item \href{#method-scale_remap_position}{\code{Builder$scale_remap_position()}}
\item \href{#method-scale_train_non_position}{\code{Builder$scale_train_non_position()}}
\item \href{#method-scale_map_non_position}{\code{Builder$scale_map_non_position()}}
\item \href{#method-setup_geom_data}{\code{Builder$setup_geom_data()}}
\item \href{#method-train_guides}{\code{Builder$train_guides()}}
\item \href{#method-modify_plot_data}{\code{Builder$modify_plot_data()}}
\item \href{#method-clone}{\code{Builder$clone()}}
}
}
\if{html}{
\out{<details ><summary>Inherited methods</summary>}
\itemize{
\item \out{<span class="pkg-link" data-pkg="ggr6" data-topic="Graphic" data-id="add_layer">}\href{../../ggr6/html/Graphic.html#method-add_layer}{\code{ggr6::Graphic$add_layer()}}\out{</span>}
\item \out{<span class="pkg-link" data-pkg="ggr6" data-topic="Graphic" data-id="add_scale">}\href{../../ggr6/html/Graphic.html#method-add_scale}{\code{ggr6::Graphic$add_scale()}}\out{</span>}
\item \out{<span class="pkg-link" data-pkg="ggr6" data-topic="Graphic" data-id="replace_scale">}\href{../../ggr6/html/Graphic.html#method-replace_scale}{\code{ggr6::Graphic$replace_scale()}}\out{</span>}
\item \out{<span class="pkg-link" data-pkg="ggr6" data-topic="Graphic" data-id="set_coord">}\href{../../ggr6/html/Graphic.html#method-set_coord}{\code{ggr6::Graphic$set_coord()}}\out{</span>}
\item \out{<span class="pkg-link" data-pkg="ggr6" data-topic="Graphic" data-id="set_facet">}\href{../../ggr6/html/Graphic.html#method-set_facet}{\code{ggr6::Graphic$set_facet()}}\out{</span>}
\item \out{<span class="pkg-link" data-pkg="ggr6" data-topic="Graphic" data-id="set_theme">}\href{../../ggr6/html/Graphic.html#method-set_theme}{\code{ggr6::Graphic$set_theme()}}\out{</span>}
\item \out{<span class="pkg-link" data-pkg="ggr6" data-topic="Graphic" data-id="theme_set">}\href{../../ggr6/html/Graphic.html#method-theme_set}{\code{ggr6::Graphic$theme_set()}}\out{</span>}
}
\out{</details>}
}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-new"></a>}}
\subsection{Method \code{new()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$new(graphic, renderer = IdentityRenderer$new())}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-set_renderer"></a>}}
\subsection{Method \code{set_renderer()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$set_renderer(renderer)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-build_init"></a>}}
\subsection{Method \code{build_init()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$build_init()}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-build"></a>}}
\subsection{Method \code{build()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$build()}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-render"></a>}}
\subsection{Method \code{render()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$render()}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-prepare_data_and_scales"></a>}}
\subsection{Method \code{prepare_data_and_scales()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$prepare_data_and_scales(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-compute_statistics"></a>}}
\subsection{Method \code{compute_statistics()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$compute_statistics(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-compute_positions"></a>}}
\subsection{Method \code{compute_positions()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$compute_positions(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-map_non_position_scales"></a>}}
\subsection{Method \code{map_non_position_scales()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$map_non_position_scales(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-finish_data"></a>}}
\subsection{Method \code{finish_data()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$finish_data(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-train_facet"></a>}}
\subsection{Method \code{train_facet()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$train_facet()}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-create_panels"></a>}}
\subsection{Method \code{create_panels()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$create_panels()}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-create_plot_data"></a>}}
\subsection{Method \code{create_plot_data()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$create_plot_data()}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-split_layer_data"></a>}}
\subsection{Method \code{split_layer_data()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$split_layer_data(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-map_data_columns"></a>}}
\subsection{Method \code{map_data_columns()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$map_data_columns(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-add_missing_scales"></a>}}
\subsection{Method \code{add_missing_scales()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$add_missing_scales(plot_data, renderer)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-scale_transform"></a>}}
\subsection{Method \code{scale_transform()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$scale_transform(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-scale_train_position"></a>}}
\subsection{Method \code{scale_train_position()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$scale_train_position(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-scale_map_position"></a>}}
\subsection{Method \code{scale_map_position()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$scale_map_position(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-setup_stat_data"></a>}}
\subsection{Method \code{setup_stat_data()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$setup_stat_data(plot_data, renderer)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-stat_compute"></a>}}
\subsection{Method \code{stat_compute()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$stat_compute(plot_data, renderer)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-map_stat_columns"></a>}}
\subsection{Method \code{map_stat_columns()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$map_stat_columns(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-add_position_scales"></a>}}
\subsection{Method \code{add_position_scales()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$add_position_scales(renderer)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-position_compute"></a>}}
\subsection{Method \code{position_compute()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$position_compute(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-scale_retrain_position"></a>}}
\subsection{Method \code{scale_retrain_position()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$scale_retrain_position(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-finalize_panels"></a>}}
\subsection{Method \code{finalize_panels()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$finalize_panels()}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-scale_remap_position"></a>}}
\subsection{Method \code{scale_remap_position()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$scale_remap_position(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-scale_train_non_position"></a>}}
\subsection{Method \code{scale_train_non_position()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$scale_train_non_position(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-scale_map_non_position"></a>}}
\subsection{Method \code{scale_map_non_position()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$scale_map_non_position(plot_data)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-setup_geom_data"></a>}}
\subsection{Method \code{setup_geom_data()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$setup_geom_data(plot_data, renderer)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-train_guides"></a>}}
\subsection{Method \code{train_guides()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$train_guides()}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-modify_plot_data"></a>}}
\subsection{Method \code{modify_plot_data()}}{
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$modify_plot_data(plot_data, fun)}\if{html}{\out{</div>}}
}

}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-clone"></a>}}
\subsection{Method \code{clone()}}{
The objects of this class are cloneable with this method.
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{Builder$clone(deep = FALSE)}\if{html}{\out{</div>}}
}

\subsection{Arguments}{
\if{html}{\out{<div class="arguments">}}
\describe{
\item{\code{deep}}{Whether to make a deep clone.}
}
\if{html}{\out{</div>}}
}
}
}
