Speaker
Description
Interactive graphical applications in R are typically built using external web-based frameworks such as Shiny or by interfacing with other programming languages such as Tcl/Tk or JavaScript. However, these approaches may require server infrastructure or knowledge of additional programming languages.
As an alternative, the base R function grDevices::getGraphicsEvent() enables interactive graphics directly within R, without external frameworks or other programming languages. Despite this capability, the function appears to be largely unknown: only 26 packages on CRAN currently make use of it.
In this talk, I introduce the core ideas behind getGraphicsEvent() and demonstrate how it can be used to build interactive graphical applications entirely in base R. I illustrate the approach with several examples, including the plotannotate package for interactively annotating plots with freehand drawing, symbols, and text, and a chess trainer application for playing chess and practicing openings and tactics.
I conclude by discussing the broader potential of this approach for developing lightweight interactive tools in R, including dashboards, editors, and games, without relying on external frameworks.
If you used AI tools or services to support the preparation of this submission, please state the name and reason for using each of them.
No AI tools/services were used.
| Keywords: Please list up to 5 keywords to help us find the right session for your contribution. | interactive applications, interactive graphics, getGraphicsEvent() |
|---|---|
| Virtual Option | This submission is for onsite presentation only |
| Video Recording | Video sharing is fine |
| The author(s) agree(s) to take responsibility and be accountable for the contents of the submission and is/are authorized to present it. | Confirm |