[R] Extracting Plot Arguments

Reed A. Cartwright r@c@rtwr|ght @end|ng |rom gm@||@com
Thu Feb 22 04:49:16 CET 2024

Hi All,

I'm building an autograding framework for my biostatistics class this
semester, and I am exploring different ways to automatically grade

In other classes, I teach ggplot2 and I extract information directly
from the ggplot2 object. However, in this class we are using base R
and I need to extract information from base-r graphics.

I've tried several different approaches, but I'm not sure which one is
the easiest and most effective. Has anyone ever tried this? Are there
any packages to help with this?

(1) Storing `recordedplots` objects and trying to extract information
from them. This data structure felt very low level, and I wasn't sure
how easy it was to map the results to user-level function calls.

(2) Use the `svglite` device to produce svg files, which can be
parsed. This also worked, but required a lot of code to parse the
resulting images and identify things like labels, and coordinate
locations. I got tired of having to figure how to extract information
from an SVG.

(3) Use a wrapper on specific graphics functions that records the
function arguments. This turns out to be a bit too high level, as I
have to manually massage inputs. E.g. handle both xy plots and formula
+ data plots. (We teach both styles.)

Are there any other ideas that I can try? My students are using an
RMarkdown worksheet and answering questions by putting code in
specific chunks. I've already hooked into knitr so I can record the
chunk lines as they are being run and  get the results and


Reed A. Cartwright, PhD
Associate Professor of Genomics, Evolution, and Bioinformatics
School of Life Sciences and The Biodesign Institute
Arizona State University
Address: The Biodesign Institute, PO Box 876401, Tempe, AZ 85287-6401 USA
Packages: The Biodesign Institute, 1001 S. McAllister Ave, Tempe, AZ
85287-6401 USA
Office: Biodesign B-220C, 1-480-965-9949
Website: http://cartwrig.ht/

More information about the R-help mailing list