I would suggest using grid.cap() to convert the contents of the graphics device to bitmap, and then just calculate the fraction of non-white pixels (in other words, βinkβ). In the following example, in order to focus the calculations on the ink in the graph area, I set par(mar=c(0,0,0,0)) , but you can drop this line if you want to also study the amount of ink in the axes, ticks, axis labels, header, etc.
library(grid)
source share