I'm looking for a description of the structure of
Graphics objects, aimed at the advanced Mathematica programmer.
The motivation for this question is the following. I have several
Module-type functions that, as part of their operation, have to manipulate
Graphics objects (primarily those generated by plotting commands). I find that these functions often produce undesired results, and the reason is, invariably, that the function has assumed something about the structure of
Graphics objects that turns out not to hold in general. Hence, I want to learn more about the internal structure of the
Graphics objects generated by
ListPlot, and friends.
Unfortunately, I cannot distill my overall state of confusion into one or two concrete questions. I have a ton of questions, but from my ignorant vantage point, I cannot rank these questions in order of importance. Here's an example out of many I could give: "why do the lists of "primitives" in so many of the
Graphics objects that I produce with plotting commands begin and end with empty lists?" For all I know, the answer to this question could just as easily be hugely illuminating, or be utterly banal, or, worse yet, may give rise to further questions.
I've read the documentation for
Graphics and the tutorial The Structure of Graphics (which, despite the promising-sounding title, did not shed as much light as I'd hoped). (I've also watched the Graphics Language Quick Start, which is generally instructive, but, as its name suggests, far more high-level and beginner-oriented than what I'm looking for.)