Skip to contents

Make grid of pieGrobs

Usage

pieGridGrob(
  radMat,
  wts = NULL,
  fills = NULL,
  labels = NULL,
  showRadSum = FALSE,
  ncol = NULL,
  nrow = NULL,
  byrow = TRUE,
  name = NULL,
  gp = NULL,
  vp = NULL
)

grid.pieGridGrob(
  radMat,
  wts = NULL,
  fills = NULL,
  labels = NULL,
  showRadSum = FALSE,
  ncol = NULL,
  nrow = NULL,
  byrow = TRUE,
  name = NULL,
  gp = NULL,
  vp = NULL
)

Arguments

radMat

matrix(<numeric>), observations by slice radii

wts

vector(<numeric>), relative weights of each slice

fills

Vector of colors to fill slices

labels

vector(<character>), (optional) label for each observation

showRadSum

Logical scalar, when TRUE show the weighted sum of slices below the label

nrow, ncol

Integer scalar, number of rows and columns for the grid

byrow

Logical scalar, fill the grid by rows when TRUE

name, gp, vp

Passed to grid::gTree

Value

pieGrob

grid::grob object

Examples

# \donttest{
library(grid)

s <- seq(0.2, 1, by = 0.1)
smat <- do.call("rbind", replicate(20, s, simplify = FALSE))
grid.newpage()
grid.pieGridGrob(radMat = smat)


rownames(smat) <- sprintf("obs%02d", 1:20)
grid.newpage()
grid.pieGridGrob(radMat = smat, wts = s)

grid.newpage()
grid.pieGridGrob(radMat = smat, wts = s, showRadSum = TRUE, labels = FALSE)

grid.newpage()
grid.pieGridGrob(radMat = smat, labels = "hello")

grid.newpage()
grid.pieGridGrob(radMat = smat, labels = 1:20)


## Can edit like normal grid objects
grid.newpage()
grid.pieGridGrob(radMat = smat, wts = s, showRadSum = TRUE)

grid.ls() ## shows grid elements
#> GRID.gTree.359
#>   GRID.frame.360
#>     GRID.cellGrob.361
#>       pie-1
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.362
#>       pie-1-radSum
#>     GRID.cellGrob.363
#>       pie-1-label
#>   GRID.frame.364
#>     GRID.cellGrob.365
#>       pie-2
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.366
#>       pie-2-radSum
#>     GRID.cellGrob.367
#>       pie-2-label
#>   GRID.frame.368
#>     GRID.cellGrob.369
#>       pie-3
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.370
#>       pie-3-radSum
#>     GRID.cellGrob.371
#>       pie-3-label
#>   GRID.frame.372
#>     GRID.cellGrob.373
#>       pie-4
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.374
#>       pie-4-radSum
#>     GRID.cellGrob.375
#>       pie-4-label
#>   GRID.frame.376
#>     GRID.cellGrob.377
#>       pie-5
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.378
#>       pie-5-radSum
#>     GRID.cellGrob.379
#>       pie-5-label
#>   GRID.frame.380
#>     GRID.cellGrob.381
#>       pie-6
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.382
#>       pie-6-radSum
#>     GRID.cellGrob.383
#>       pie-6-label
#>   GRID.frame.384
#>     GRID.cellGrob.385
#>       pie-7
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.386
#>       pie-7-radSum
#>     GRID.cellGrob.387
#>       pie-7-label
#>   GRID.frame.388
#>     GRID.cellGrob.389
#>       pie-8
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.390
#>       pie-8-radSum
#>     GRID.cellGrob.391
#>       pie-8-label
#>   GRID.frame.392
#>     GRID.cellGrob.393
#>       pie-9
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.394
#>       pie-9-radSum
#>     GRID.cellGrob.395
#>       pie-9-label
#>   GRID.frame.396
#>     GRID.cellGrob.397
#>       pie-10
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.398
#>       pie-10-radSum
#>     GRID.cellGrob.399
#>       pie-10-label
#>   GRID.frame.400
#>     GRID.cellGrob.401
#>       pie-11
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.402
#>       pie-11-radSum
#>     GRID.cellGrob.403
#>       pie-11-label
#>   GRID.frame.404
#>     GRID.cellGrob.405
#>       pie-12
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.406
#>       pie-12-radSum
#>     GRID.cellGrob.407
#>       pie-12-label
#>   GRID.frame.408
#>     GRID.cellGrob.409
#>       pie-13
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.410
#>       pie-13-radSum
#>     GRID.cellGrob.411
#>       pie-13-label
#>   GRID.frame.412
#>     GRID.cellGrob.413
#>       pie-14
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.414
#>       pie-14-radSum
#>     GRID.cellGrob.415
#>       pie-14-label
#>   GRID.frame.416
#>     GRID.cellGrob.417
#>       pie-15
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.418
#>       pie-15-radSum
#>     GRID.cellGrob.419
#>       pie-15-label
#>   GRID.frame.420
#>     GRID.cellGrob.421
#>       pie-16
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.422
#>       pie-16-radSum
#>     GRID.cellGrob.423
#>       pie-16-label
#>   GRID.frame.424
#>     GRID.cellGrob.425
#>       pie-17
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.426
#>       pie-17-radSum
#>     GRID.cellGrob.427
#>       pie-17-label
#>   GRID.frame.428
#>     GRID.cellGrob.429
#>       pie-18
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.430
#>       pie-18-radSum
#>     GRID.cellGrob.431
#>       pie-18-label
#>   GRID.frame.432
#>     GRID.cellGrob.433
#>       pie-19
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.434
#>       pie-19-radSum
#>     GRID.cellGrob.435
#>       pie-19-label
#>   GRID.frame.436
#>     GRID.cellGrob.437
#>       pie-20
#>         slice1
#>         slice2
#>         slice3
#>         slice4
#>         slice5
#>         slice6
#>         slice7
#>         slice8
#>         slice9
#>     GRID.cellGrob.438
#>       pie-20-radSum
#>     GRID.cellGrob.439
#>       pie-20-label
grid.edit("pie-20", fills = 1:9)

grid.edit("pie-19-label", gp = gpar(font = 2, col = "red"))

grid.edit("pie-1", wts = rep(1, 9), rads = rep(1, 9))

for (s in sprintf("pie-%d-radSum", 2:4)) {
  grid.edit(s, gp = gpar(font = 2, col = "blue"))
}



# }