Code Monkey home page Code Monkey logo

ggplotassist's Introduction

title author date output vignette
R package ggplotAssist
Keon-Woong Moon
2017-10-24
rmarkdown::html_vignette
%\VignetteIndexEntry{ggplotAssist} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8}
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. 

Prerequisite

You have to install the developmental version of R package editData from github.

#install.packages("devtools")
devtools::install_github("cardiomoon/editData")

Install package

You can install ggplotAssist package from github.

#install.packages("devtools")
devtools::install_github("cardiomoon/ggplotAssist")

Usage: As an RStudio Add-in

This addin can be used to interactively generate a ggplot using ggplot2 package. The intended way to use this is as follows:

  1. Highlight a symbol naming a data.frame or a tibble in your R session, e.g. msleep(1). Execute this addin(arrow), to interactively manipulate it.

plot of chunk unnamed-chunk-3

  1. You can see a brower window. You can see the data name(1) and R code for ggplot(2). Select x(3) and bodywt(4) to map bodywt as a x-axis variable.

plot of chunk unnamed-chunk-4

  1. You can see the R code for ggplot(1). Select y and brainwt to map the y-axis variable.

plot of chunk unnamed-chunk-5

  1. To add geoms to ggplot, press geom button(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.

plot of chunk unnamed-chunk-6

  1. If you finish to make a layer, press Add Layer button(1) to add the layer. You can see added layers(2). You can delete a layer with delete layer button after select a layer to delete.

plot of chunk unnamed-chunk-7

  1. 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.

plot of chunk unnamed-chunk-8

  1. 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.

plot of chunk unnamed-chunk-9

  1. 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.

plot of chunk unnamed-chunk-10

  1. You can hide the minor grid lines because they don't align with the ticks. Press theme button(1) and select the theme function(2). The theme() function has a lot of arguments. Select panel.grid.minor argument(3) and select element_blank()(4) to hide the minor grid line.

plot of chunk unnamed-chunk-11

  1. You can see this plot layer by layer. Press the Layer by layer button(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 Done button(3).

plot of chunk unnamed-chunk-12

  1. When you're done, the code for the ggplot will be emitted at the cursor position(scarlet rectangle).

plot of chunk unnamed-chunk-13

Usage: As a regular function

You can use the ggplotAssist() function as a regular function, e.g. in a command line.

result <- ggplotAssist(mtcars)

ggplotassist's People

Contributors

cardiomoon avatar

Watchers

James Cloos avatar Sanghee Kang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.