pmap_piece | R Documentation |
pmap_piece()
operates on the rows of a data frame
applying .f
to each row (usually grid.piece
).
pmap_piece(
.l,
.f = pieceGrob,
...,
cfg = getOption("piecepackr.cfg"),
envir = getOption("piecepackr.envir"),
trans = getOption("piecepackr.trans"),
draw = TRUE,
name = NULL,
gp = NULL,
vp = NULL
)
.l |
A list of vectors, such as a data frame. The length of |
.f |
Function to be applied to |
... |
Extra arguments to pass to |
cfg |
Piecepack configuration list or |
envir |
Environment (or named list) containing configuration list(s). |
trans |
Function to modify |
draw |
A logical value indicating whether graphics output should be produced. |
name |
A character identifier (for grid) |
gp |
An object of class “gpar”. |
vp |
A |
pmap_piece()
differs from purrr::pmap()
in a few ways:
If cfg
and/or envir
are missing attempts to set reasonable defaults.
If not NULL
will first apply function trans
to .l
.
If the output of .f
is a grid grob object then pmap_piece
will return a gTree
object with
specified name
, gp
, and vp
values and if draw
is true draw it.
If .l
lacks a name
column or if name
column is non-unique
attempts to generate a reasonable new default name
column
and use that to name the return gTree
children or list
values.
render_piece()
is a higher-level function that wraps this function.
if (requireNamespace("grid", quietly = TRUE) && piecepackr:::device_supports_unicode()) {
dark_colorscheme <- list(suit_color="darkred,black,darkgreen,darkblue,black",
invert_colors.suited=TRUE, border_color="black", border_lex=2)
traditional_ranks <- list(use_suit_as_ace=TRUE, rank_text=",a,2,3,4,5")
cfg3d <- list(width.pawn=0.75, height.pawn=0.75, depth.pawn=1,
dm_text.pawn="", shape.pawn="convex6", invert_colors.pawn=TRUE,
edge_color.coin="tan", edge_color.tile="tan")
cfg <- pp_cfg(c(dark_colorscheme, traditional_ranks, cfg3d))
grid::grid.newpage()
df_tiles <- data.frame(piece_side="tile_back", x=0.5+c(3,1,3,1), y=0.5+c(3,3,1,1),
suit=NA, angle=NA, z=NA, stringsAsFactors=FALSE)
df_coins <- data.frame(piece_side="coin_back", x=rep(4:1, 4), y=rep(4:1, each=4),
suit=1:16%%2+rep(c(1,3), each=8),
angle=rep(c(180,0), each=8), z=1/4+1/16, stringsAsFactors=FALSE)
df <- rbind(df_tiles, df_coins)
pmap_piece(df, cfg=cfg, op_scale=0.5, default.units="in")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.