{"repo":"yjunechoe/ggtrace","free":true,"listed":false,"github":"https://github.com/yjunechoe/ggtrace","clone":"git clone https://github.com/yjunechoe/ggtrace.git","description":"A functional interface to ggplot2 internals","language":"R","stars":61,"topics":["ggplot2","debugging","metaprogramming"],"license":null,"category":"dev-tools","readme_excerpt":"ggtrace Installation You can install the development version from GitHub with: More on the 📦 package website: Getting started {ggtrace} is a functional interface to ggplot2 internals . You need to know a little bit about {ggplot2} internals to make the most out of {ggtrace} . If you prefer watching videos, here are three talks on the topic in increasing complexity: - Talk at JSM 2023 (+ paper) - Talk at rstudioconf 2022 (+ materials) - Talk at useR! 2022 (+ materials) Motivation Broadly speaking, {ggtrace} was designed with two goals in mind: 1. Understanding Sublayer Modularity To help users write more expressive layer code using delayed aesthetic evaluation. The family of layer () extractor functions return snapshots of layer data in the internals, to help scaffold a mental model of {ggplot2} internals as a data wrangling pipeline. See ? sublayer-data 2. Facilitating the User-Developer Transition To empower users to start developing their own extensions This is achieved via a family of inspect () , capture () , and highjack () workflow functions, which provide a functional interface into the object-oriented design of the internals (the OOP). You can read the full motivation behind {ggtrace} in the Pedagogical Philosophy vignette. Playground The best way to learn {ggtrace} and {ggplot2} internals is by playing around and breaking things as you go. In that spirit, you can take {ggtrace} for a spin on the ggplot2 layer explorer . 🚀 Live App: 🔗 Repo: App Demo","default_branch":null,"files":null,"tree":[],"storefront":"/r/yjunechoe","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/yjunechoe/ggtrace/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}