Output and render functions for using threeJsViewer within Shiny applications and interactive Rmd documents.
threejsOutput(outputId, width = "100%", height = "600px")
renderthreeJsViewer(expr, env = parent.frame(), quoted = FALSE)
output variable to read from
Must be a valid CSS unit (like '100%'
,
'600px'
, 'auto'
) or a number, which will be coerced to a
string and have 'px'
appended.
An expression that generates a threeJsViewer
The environment in which to evaluate expr
.
Is expr
a quoted expression (with quote()
)? This
is useful if you want to save an expression in a variable.
An output or render function that enables the use of the threeJsViewer widget.
if (interactive()) {
library(GenomicRanges)
flamingo <- system.file("extdata", "4DNFI1UEG1HD.chr21.FLAMINGO.res.rds", package = "geomeTriD")
x <- readRDS(flamingo[[1]])
## resize to bigger value to get better init view
mcols(x) <- as.data.frame(mcols(x)) * 1e5
line <- threeJsGeometry(
x = x$x, y = x$y, z = x$z,
colors = sample(palette(), length(x), replace = TRUE),
type = "line",
properties = list(size = 4)
)
library(shiny)
runApp(list(
ui = bootstrapPage(
threejsOutput("plot")
),
server = function(input, output) {
output$plot <- renderthreeJsViewer({
threeJsViewer(line)
})
}
))
}