The plotannotate
package allows annotating plots created with ‘base R graphics’. The function for this purpose is called annotate
. After creating a plot, for example with plot()
, the command annotate()
enters a freehand drawing mode where one can draw on the plot with the mouse (or some other input device). Various symbols (points, lines, arrows, rectangles, circles, ellipses) and text can also be added. Pressing q
or the right mouse button terminates the annotation mode.
The functionality provided by the package is especially useful when teaching (e.g., to visually explain certain plot elements), but can also be used for creating quick sketches.
Note that the annotate()
function makes extensive use of getGraphicsEvent
to capture mouse movements and keyboard inputs. Only some graphics devices support this (currently only windows
and x11
). If you receive the error message ‘The graphics device does not support event handling’, then the graphics device that was opened does not provide this kind of functionality. For example, this will be the case for the RStudioGD
graphics device that is used by RStudio or the quartz
graphics device that is used by default by macOS. You can then try running x11()
before creating the plot.
Also, annotate()
does not work for plots based on the grid
graphics engine (which includes plots created with the ggplot2
or lattice
packages), since such plots are not compatible with getGraphicsEvent
.
The plotannotate
package is licensed under the GNU General Public License Version 3. To report any issues or bugs, please go here.