library(svglite)
library(slickR)
To place plots directly into slickR we need to convert plots into svg
code using svglite::xmlSVG
Here are some examples of how this can be done using different packages.
# Standard Plot
xmlSVG({
plot(1:10)
standalone = TRUE)
},
#library(lattice)
# xyplot
xmlSVG({
print(xyplot(x ~ x, data.frame(x = 1:10), type = "l"))
standalone = TRUE)
},
# dotplot
xmlSVG({
print(dotplot(variety ~ yield | site,
data = barley, groups = year,
key = simpleKey(levels(barley$year), space = "right"),
xlab = "Barley Yield (bushels/acre) ",
aspect = 0.5, layout = c(1, 6), ylab = NULL
))standalone = TRUE)
},
#library(ggplot2)
xmlSVG({
show(ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) +
geom_point())
standalone = TRUE)
},
<- replicate(5,{
plotsToSVG ::xmlSVG(
svglitecode = {
<- sample(1:5,1)
x plot(stats::density(stats::rnorm(10*x,sd=x)))
},standalone = TRUE)
},simplify = FALSE
)
::slickR(plotsToSVG, height = 200, width = "95%") slickR
There are instances when you have many outputs at once and do not want to go through all, so you can combine two carousels one for viewing and one for searching.
<- slickR(plotsToSVG, height = 200, width = "95%") +
slick_up settings(slidesToShow = 1, slidesToScroll = 1)
<- slickR(plotsToSVG, height = 100, width = "95%") +
slick_down settings(slidesToScroll = 1, slidesToShow = 3,
centerMode = TRUE, focusOnSelect = TRUE)
%synch% slick_down slick_up