This post may be of interest to a very small number of people. Using a fancy grid-based graphics library in R such as lattice and want some Shiny brushing goodness? Sadly, Shiny only supports base graphics and ggplot2.
Solution: First work out the name of the relevant viewport (grid.ls(viewports=T,grobs=F)), then use the gridBase package to set up a corresponding base graphics viewport.
output$plot <- renderPlot({
# ... draw some grid graphics ...
seekViewport("...someviewport...")
par(new=T, plt=gridBase::gridPLT())
plot(1, type="n", axes=F,
xlab="", ylab="",
xlim=c(0,1), ylim=c(0,1),
xaxs="i", yaxs="i")
})
If the viewport isn't named, tell the developer of the package to name their viewports.