R Shiny app progress update: plot contour, image, and 3D perspective
A while back I posted some screenshots of an R Shiny web application I’d been working on. It demonstrates integration of the plot3D and rgl packages into a Shiny app for 2D and 3D plotting. The rgl functionality is assisted by the shinyRGL package. The app is still under development but a number of changes and code improvements have been made.
I have a few more screenshots to illustrate some of the enhancements and changes. But this is all I can provide for now. It should not be too long before the app is released. However, there are still several coding tasks in progress and some features are being overhauled. There is also an issue with using RGL on RStudio’s Spark server where websockets are disabled and possibly the remoteness of the connection is an issue, whereas I have no problems using RGL in the app on SNAP’s self-hosted shiny-server with websockets on.
This has delayed things further since it saps some of the momentum and priority for working on the app at all. To be clear, in general there is no problem using RGL in a Shiny app on Spark. But in this specific application the code is complex and my use of RGL represents an extreme edge case. There are some additional conflicting issues with my particular edge case use of the shinyAce package for reactive code display and highlighting, which muddies the waters further. The approach I have been using in the latter case seems only to work with web sockets off.
In any event, the most notable change has been the inclusion of a Code tab in the app where the user can click through the different R scripts used by the app in a navlist panel and see the code displayed with reactive syntax highlighting and adjustable font size. I have also added a sample Lorenz attractor data set, shown below. Currently it is only prepped for plotting interactively with RGL. I have not bothered for instance to make 2D plots of it which involve flattening the z-dimension or even included static 3D plots of it.
The next post on this topic will likely be to announce that the app is publicly available. This will happen whether or not the RGL portion can be used effectively on RStudio’s Spark server. If not, I may have to disable that feature. But the code will stil be available once released and should at least work on local systems.