[Rd] Creating a text-based device/output format

Ivan Krylov
2024-06-25T13:23:25Z

? Tue, 25 Jun 2024 09:42:59 +0000
David McArthur <David.McArthur.2 at glasgow.ac.uk> ?????:

> ggplot(data, aes(x=body_mass_g,fill = species)) +
>   geom _histogram()
>
> Could output something like:
>
> title "The body mass (g) of penguin species"
> x-axis "Body mass (g)" 3000 --> 5550
> y-axis "Count" 0 --> 2
> histogram
>   Adelie [3000, 3250, 3400]
>   ChinStrap [3250, 3600]
>   Gentoo [4300, 5050, 5200, 5300, 5450]
>
> How should I go about this in R?

R graphics devices are very low-level:
https://cran.r-project.org/doc/manuals/r-devel/R-ints.html#Graphics-devices

Instead of drawing histograms, they are asked to draw points, lines,
polygons, and text. If you're curious what it's like to implement such
a device, packages such as 'devEMF' and 'ragg' will provide
examples.

You could instead go the 'txtplot' route and implement your own
functions that would return text in mermaid syntax, unrelated to
existing plotting engines. An alternative would be to carefully
deconstruct 'ggplot2' and 'lattice' objects and translate what
you can
into mermaid diagrams, but that will always be limited to the
intersection of the source and target featuresets.

--
Best regards,
Ivan