
gglogger is an R package that logs the calls used to create ggplot2 objects.
This can be useful for debugging, reproducibility, and understanding the sequence of operations used to build a plot.
Have you ever created a plot in
ggplot2and then forgotten how you made it? Or wanted to reproduce a plot but couldn't remember the exact sequence of operations you used?ggloggercan help!
You can install the gglogger package from source using devtools:
devtools::install_github("pwwang/gglogger")
# or
remotes::install_github("pwwang/gglogger")
To use the gglogger package, simply load it along with ggplot2 and create your plots as usual. The package will automatically log the calls used to create the plots.
Evaluate the code in logs to reproduce the plot:
p$logs$evaluate()
You can also attach the variables in an environment for evaluation:
env <- new.env()
env$mpg <- mpg
env$mpg$hwy <- mpg$hwy / 2
p$logs$evaluate(env)
library(dplyr)
library(gglogger)
mtcars_radar <- mtcars %>%
as_tibble(rownames = "group") %>%
mutate_at(vars(-group), scales::rescale) %>%
tail(4) %>%
select(1:10)
ggradar <- register(ggradar::ggradar)
p <- ggradar(mtcars_radar, legend.position = "right")
print(p$logs)
# ggradar::ggradar(mtcars_radar, legend.position = "right")
# p is a ggradar plot created in the previous example
code <- p$logs$gen_code(setup = '
library(dplyr)
library(ggradar)
mtcars_radar <- mtcars %>%
as_tibble(rownames = "group") %>%
mutate_at(vars(-group), scales::rescale) %>%
tail(4) %>%
select(1:10)
')
cat(code)
## library(dplyr)
## library(ggradar)
##
## mtcars_radar <- mtcars %>%
## as_tibble(rownames = "group") %>%
## mutate_at(vars(-group), scales::rescale) %>%
## tail(4) %>%
## select(1:10)
##
##
## ggradar::ggradar(mtcars_radar, legend.position = "right")
# eval(parse(text = code)) # to reproduce the plot
gglogger cannot log the global settings used to create a plot, such as theme_set(). It can only log the calls used directly to create the plot itself. You may need to manually set these global settings when reproducing a plot, or prepare them using the setup argument in gen_code().
If your data is piped to ggplot function, you need to use |> instead of %>%, otherwise the data will be logged as ..
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.