Learn R Programming

rgl (version 1.2.8)

asRow: Convenience functions for RGL HTML layouts

Description

The asRow function arranges objects in a row in the display; the getWidgetId function extracts the HTML element ID from an HTML widget.

Usage

asRow(..., last = NA, height = NULL, colsize = 1)
getWidgetId(widget)

Value

asRow returns a single "combineWidgets" object suitable for display or nesting within a more complicated display.

getWidgetId returns a character string containing the HTML element ID of the widget.

Arguments

...

Either a single "combineWidgets" object produced by asRow or a %>% pipe of RGL objects, or several objects intended for rearrangement.

last

If not NA, the number of objects from ... that are to be arranged in a row. Earlier ones will remain in a column.

height

An optional height for the resulting row. This is normally specified in pixels, but will be rescaled as necessary to fit the display.

colsize

A vector of relative widths for the columns in the row.

widget

A single HTML widget from which to extract the HTML element ID.

Author

Duncan Murdoch

Details

Using asRow requires that the manipulateWidget package is installed.

asRow produces a "combineWidgets" object which is a single column whose last element is another "combineWidgets" object which is a single row.

If n objects are given as input and last is given a value less than n, the first n - last objects will be displayed in a column above the row containing the last objects.

See Also

pipe for the %>% operator.

Examples

Run this code
if (requireNamespace("manipulateWidget", quietly = TRUE) &&
    require("crosstalk", quietly = TRUE)) {
  sd <- SharedData$new(mtcars)
  ids <- plot3d(sd$origData(), col = mtcars$cyl, type = "s")
  # Copy the key and group from existing shared data
  rglsd <- rglShared(ids["data"], key = sd$key(), group = sd$groupName())
  w <- rglwidget(shared = rglsd) %>%
       asRow("Mouse mode: ", rglMouse(getWidgetId(.)), 
             "Subset: ", filter_checkbox("cylinderselector", 
		               "Cylinders", sd, ~ cyl, inline = TRUE),
             last = 4, colsize = c(1,2,1,2), height = 60)
  if (interactive() || in_pkgdown_example())
    w
}

Run the code above in your browser using DataLab