R/margin_theme.R

Defines functions margin_theme

margin_theme <- function(a,obj,obj.class,obj.names,i) {
  
  if(grepl('\\.margin$',obj.names[i])){
    b <- split(
      c(
        a[[obj.names[[i]]]],
        attr(a[[obj.names[[i]]]], "unit")
      ),
      c("t", "r", "b", "l", "unit")
    )
    b$unit <- sprintf("'%s'",b$unit)
    obj$margin["value"] <- paste0(paste(names(b), b, sep = "="), collapse = ",")
  }else{
    
    midx <- grep('margin',names(obj.class))
    
    if (!is.null(a[[obj.names[[i]]]][[midx]])) {
      b <- split(
        c(
          a[[obj.names[[i]]]][[midx]],
          attr(a[[obj.names[[i]]]][[midx]], "unit")
        ),
        c("t", "r", "b", "l", "unit")
      )
      b$unit <- sprintf("'%s'",b$unit)
      obj$margin["value"] <- paste0(paste(names(b), b, sep = "="), collapse = ",")
    }else{
      obj$margin["value"] <- 'NULL'
    }
  }
  
  obj
}

Try the ggedit package in your browser

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

ggedit documentation built on July 8, 2020, 5:34 p.m.