R/get_set_viewPort.R

Defines functions set_viewPort_grob.default set_viewPort_grob get_viewPort.l_serialaxes get_viewPort.default get_viewPort

get_viewPort <- function(loon.grob) {
  obj <- character(0)
  class(obj) <- names(loon.grob$children)
  UseMethod("get_viewPort", obj)
}

get_viewPort.default <- function(loon.grob) {
  loonPlotLayer <- grid::getGrob(loon.grob, "loon plot")
  loonPlotLayer$vp
}

get_viewPort.l_serialaxes <- function(loon.grob) {
  loonPlotLayer <- grid::getGrob(loon.grob, "l_serialaxes")
  loonPlotLayer$vp
}


set_viewPort_grob <- function(loon.grob, margins, xlim, ylim) {
  obj <- character(0)
  class(obj) <- names(loon.grob$children)
  UseMethod("set_viewPort_grob", obj)
}

set_viewPort_grob.default <- function(loon.grob, margins, xlim, ylim) {

  grid::setGrob(
    gTree = loon.grob,
    gPath = "loon plot",
    newGrob = grid::editGrob(
      grob = grid::getGrob(loon.grob, "loon plot"),
      vp = grid::vpStack(
        grid::plotViewport(margins = margins, name = "plotViewport"),
        grid::dataViewport(xscale = xlim, yscale = ylim,
                     name = "dataViewport")
      )
    )
  )
}

Try the loon.shiny package in your browser

Any scripts or data that you put into this service are public.

loon.shiny documentation built on Oct. 8, 2022, 5:05 p.m.