| % Generated by roxygen2: do not edit by hand |
| % Please edit documentation in R/graphics_helpers.R |
| \name{graphics_helpers} |
| \alias{graphics_helpers} |
| \alias{graphics_dev} |
| \alias{is_svg} |
| \alias{dev_chr} |
| \title{Helper functions to use various graphics devices} |
| \usage{ |
| graphics_dev(filename, width, height, res, ..., dev) |
| |
| is_svg(dev) |
| |
| dev_chr(dev) |
| } |
| \arguments{ |
| \item{filename}{Passed through to the graphics device.} |
| |
| \item{width, height}{Plot dimensions in pixels.} |
| |
| \item{res}{The resolution of the plot; default is 300.} |
| |
| \item{...}{extra parameters passing to the graphics-device function.} |
| |
| \item{dev}{Character (e.g., "svg", "pdf") or function (e.g., |
| \code{grDevices::svg}, \code{grDevices::pdf}).} |
| } |
| \value{ |
| 'graphics_dev': nothing, a plot device is opened |
| |
| 'is_svg': logical |
| |
| \code{dev_chr}: character |
| } |
| \description{ |
| These helper functions generalize the use of strings (e.g., |
| \code{"svg"}, \code{"pdf"}) or graphic device functions (e.g., |
| \code{grDevices::svg}, \code{grDevices::pdf}) for in-table plots. |
| } |
| \details{ |
| \itemize{ |
| \item \code{graphics_dev} generalizes the use of 'res' and plot dimensions |
| across graphic devices. Raster-based devices (e.g., 'png', |
| 'jpeg', 'tiff', 'bmp') tend to use 'res' and the width/height |
| units default to pixels. All other devices (e.g., 'pdf', 'svg') |
| tend to use inches as the default units for width/height, and |
| error when 'res' is provided. |
| |
| The current heuristic is the look for the 'res' argument in the |
| function's formals; if that is present, then it is assumed that |
| the default units are in pixels, so 'width', 'height', and 'res' |
| are passed through unmodified. If 'res' is not present, then |
| 'width' and 'height' are converted from pixels to inches, and |
| 'res' is not passed to the function |
| |
| Another purpose of this function is to generalize the different |
| graphic functions' use of 'file=' versus 'filename='. |
| } |
| |
| \itemize{ |
| \item \code{is_svg} determines if the plot device is svg-like, typically one |
| of \verb{"svg", }grDevices::svg\verb{, or }svglite::svglite` |
| } |
| |
| \itemize{ |
| \item \code{dev_chr} determines the filename extension for the applicable |
| plot function; when \code{dev} is a string, then it is returned |
| unchanged; when \code{dev} is a function, the formals of the function |
| are checked for clues (i.e., default value of a \verb{file=} argument) |
| } |
| } |
| \section{Functions}{ |
| \itemize{ |
| \item \code{graphics_dev}: Generalize 'res' and 'filename across dev functions |
| |
| \item \code{is_svg}: Determine if plot device is svg-like |
| |
| \item \code{dev_chr}: Determine filename extension |
| }} |
| |