Author: Keon-Woong Moon
Date: 2020-10-06

# package ggiraphExtra

#### Keon-Woong Moon

#### 2020-10-06

Package ggiraphExtra contains many useful functions for exploratory plots. These functions are made by both ‘ggplot2’ and ‘ggiraph’ packages. You can make a static ggplot or an interactive ggplot by setting the parameter interactive=TRUE.

## Package installation

You can install package ggiraphExtra with the following command.

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

## ggPoints() for interactive scatterplot with regression equation

You can make interactive ggplot easily. You can hover the points, see the regression equations and zoom-in zoom-out with the mouse wheel.

    require(ggplot2)
    require(ggiraph)
    require(ggiraphExtra)

    ggPoints(aes(x=wt,y=mpg,color=am),data=mtcars,method="lm",interactive=TRUE)

You can draw scatter plot for binary dependent variable. The `GBSG2` data contains data of 686 observations from the German Breast Cancer Study Group 2(GBSG2) study. You can get logistic regression line with a jittered scatterplot by setting the parameter `method` `glm`.

    require(TH.data)
    data(GBSG2)
    ggPoints(aes(x=pnodes,y=cens),data=GBSG2,method="glm",interactive=TRUE)

Please check the vignette for “ggPoints” at http://rpubs.com/cardiomoon/231822

## ggRadar() for interactive radar chart

You can explore a data.frame with ggRadar() or ggBoxplot().

    ggRadar(data=iris,aes(color=Species),interactive=TRUE)

    ggRadar(data=mtcars,aes(colour=am),interactive=TRUE)

## ggSpine() for an interactive spinogram

ggSpine() is a interactive ggplot version of spineplot(). Spine plots are a special cases of mosaic plots, and can be seen as a generalization of stacked (or highlighted) bar plots. Analogously, spinograms are an extension of histograms. You can add labels by setting the parameter addlabel=TRUE.

    require(moonBook)
    ggSpine(data=acs,aes(x=age,fill=smoking),interactive=TRUE)

    ggSpine(data=acs,aes(x=Dx,fill=smoking),addlabel=TRUE,interactive=TRUE)

## ggBar() for an interactive barplot

ggBar() draws interactive barplot. You can add labels, draw horizontal barplots or polar plots. You can draw histogram with ggBar()

    ggBar(acs,aes(x=Dx,fill=smoking),addlabel=TRUE,horizontal=TRUE,width=0.5,interactive=TRUE)

    ggBar(rose,aes(x=Month,fill=group,y=value),stat="identity",polar=TRUE,palette="Reds",width=1,
           color="black",size=0.1,interactive=TRUE)

    ggBar(acs,aes(x=age,fill=smoking),addlabel=TRUE,horizontal=TRUE,width=0.5,interactive=TRUE)

## ggPair() for an interactive scatter plot with line plot

    ggPair(iris[3:5],interactive=TRUE)

    ggPair(iris,aes(color=Species),horizontal=TRUE,interactive=TRUE)

## ggPieDonut() for a pie and donut plot

You can draw a pie and donut plot with ggPieDonut().

    ggPieDonut(acs,aes(pies=Dx,donuts=smoking),interactive=TRUE)

    ggPieDonut(browsers,aes(pies=browser,donuts=version,count=share),interactive=TRUE)

    ggDonut(browsers,aes(donuts=version,count=share),interactive=TRUE)

## ggCLE() for a cleveland dot plot

    require(gcookbook)
    mtcars$name=rownames(mtcars)
    ggCLE(data=mtcars,aes(x=mpg,y=name,color=am,facet=am),interactive=TRUE)

    ggCLE(data=tophitters2001,aes(x=avg,y=name,color=lg,facet=lg),no=20,interactive=TRUE)

## Full version of this vignette

You can find the full version of this vignette at http://rpubs.com/cardiomoon/231820