An 'RStudio' addin for teaching and learning making plot using the 'ggplot2' package. You can learn each steps of making plot by clicking your mouse without coding. You can get resultant code for the plot.
The 'ggplotAssist' is an RStudio addin for teaching and learning plot generation using the 'ggplot2' package. You can learn each steps of plot generation - aesthetics mapping, select geometries, add scales, apply theme - by clicking your mouse without coding. You can see the resultant plot and see the each steps of plot layer by layer. You get resultant code for ggplot.
You have to install the developmental version of R package
editData from github.
You can install
ggplotAssist package from github.
This addin can be used to interactively generate a
The intended way to use this is as follows:
tibblein your R session, e.g.
msleep(1). Execute this addin(arrow), to interactively manipulate it.
bodywt(4) to map
bodywtas a x-axis variable.
brainwtto map the y-axis variable.
geombutton(1) and select
geom_point(2). You can mapping or setting the aesthetics of geom_point. You can see the R code for this layer(3). In the lower part of window, you can see two R codes and two plots. In the lower left portion, you can see the R code for plot(4) and resultant plot(5). In the lower right portion, you can see the R code for plot with R code for layer under construction(6) and resultant plot(7). This is a plot preview.
Add Layerbutton(1) to add the layer. You can see added layers(2). You can delete a layer with
delete layerbutton after select a layer to delete.
To add theme, press
theme button(1) and select
theme_bw(2). You can see the code for theme_bw(3) and plot preview(4,5). Press
Add Layer button(6) to add the code.
To apply a log scale to x-axis, press
scale button(1) and select
scale_x_log10 function(2). You can set the arguments of scale_x_log10() function(3). You can see the code for scale(4) and plot preview(5,6). To add math format to the log scale, press
Add math-format button(9). You can repeat this step to apply a log scale to y-axis.
You can add logticks to your plot. Press
annotate button(1) and select annotation_logticks function(2). You can see the arguments and default values of this function(3). Set the side argument
trbl(4). You can see the R code for this layer(5) and plot preview(6.7). Press
Add Layer button(8) to add this layer.
themebutton(1) and select the
theme()function has a lot of arguments. Select
panel.grid.minorargument(3) and select
element_blank()(4) to hide the minor grid line.
Layer by layerbutton(1) and use the sliderInput to see the plot layer by layer. You can animate this plot by click the arrowhead(2). If you want to get this R code for plot, press
You can use the
ggplotAssist() function as a regular function, e.g. in a command line.
result <- ggplotAssist(mtcars)
There are many functions that takes a function as an input : Functionals. To handle a functional in a shiny app, you have to make a shiny module that allows recursive call. I have included an recursive shiny module
textFunction in my package ggplotAssist. The UI of textFunction shiny module is
textFunctionInput and the server function is
textFunction. I also included two toy shiny app to demonstrate the recursive shiny module.
You can read the full story at https://github.com/cardiomoon/ggplotAssist/blob/master/textFunctionInput.md
now support labelling geom_bar() or geom_col()
now support position_*() functions
new function "uiOutput3","textInput4","textAreaInput4" added
An recursive shiny module "textFunctionInput" and "textFunction" added
Two toy shiny apps included in "inst" folder