--- output: md_document: variant: markdown_github --- ```{r, echo = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.retina = 2, fig.path = "README_figs/README-" ) ``` `ggalt` : Extra Geoms, Stats and Coords for `ggplot2` A package containing additional geoms, coords and stats for the revamped (late 2015) version of ggplot2. The first two forays into this brave, new `ggplot2` world are _splines_! and being able to use the (much better) `KernSmooth::bkde` for density plots. Support for `KernSmooth::bkde2D` is a WIP. *NOTE* Until the new `ggplot2` version is on CRAN, you'll need to install it from github (see below). The following functions are implemented: - `geom_xspline` : Connect control points/observations with an X-spline - `stat_xspline` : Connect control points/observations with an X-spline - `geom_bkde` : Display a smooth density estimate (uses `KernSmooth::bkde`) - `stat_bkde` : Display a smooth density estimate (uses `KernSmooth::bkde`) - `geom_bkde2d` : Contours from a 2d density estimate. (uses `KernSmooth::bkde2D`) **WIP** - `stat_bkde2d` : Contours from a 2d density estimate. (uses `KernSmooth::bkde2D`) **WIP** ### News - Version 0.0.2.9000 released ### Installation ```{r eval=FALSE} # you'll want to see the vignettes, trust me devtools::install_github("hadley/ggplot2", build_vignettes=TRUE) devtools::install_github("hrbrmstr/ggalt") ``` ```{r echo=FALSE, message=FALSE, warning=FALSE, error=FALSE} options(width=120) ``` ### Usage ```{r} library(ggalt) # current verison packageVersion("ggalt") set.seed(1492) dat <- data.frame(x=c(1:10, 1:10, 1:10), y=c(sample(15:30, 10), 2*sample(15:30, 10), 3*sample(15:30, 10)), group=factor(c(rep(1, 10), rep(2, 10), rep(3, 10))) ) ggplot(dat, aes(x, y, group=group, color=group)) + geom_point() + geom_line() ggplot(dat, aes(x, y, group=group, color=factor(group))) + geom_point() + geom_line() + geom_smooth(se=FALSE, linetype="dashed", size=0.5) ggplot(dat, aes(x, y, group=group, color=factor(group))) + geom_point(color="black") + geom_smooth(se=FALSE, linetype="dashed", size=0.5) + geom_xspline(size=0.5) ggplot(dat, aes(x, y, group=group, color=factor(group))) + geom_point(color="black") + geom_smooth(se=FALSE, linetype="dashed", size=0.5) + geom_xspline(spline_shape=-0.4, size=0.5) ggplot(dat, aes(x, y, group=group, color=factor(group))) + geom_point(color="black") + geom_smooth(se=FALSE, linetype="dashed", size=0.5) + geom_xspline(spline_shape=0.4, size=0.5) ggplot(dat, aes(x, y, group=group, color=factor(group))) + geom_point(color="black") + geom_smooth(se=FALSE, linetype="dashed", size=0.5) + geom_xspline(spline_shape=1, size=0.5) ggplot(dat, aes(x, y, group=group, color=factor(group))) + geom_point(color="black") + geom_smooth(se=FALSE, linetype="dashed", size=0.5) + geom_xspline(spline_shape=0, size=0.5) ggplot(dat, aes(x, y, group=group, color=factor(group))) + geom_point(color="black") + geom_smooth(se=FALSE, linetype="dashed", size=0.5) + geom_xspline(spline_shape=-1, size=0.5) # Better density plots data(geyser, package="MASS") ggplot(geyser, aes(x=duration)) + stat_bkde(bandwidth=0.25) ggplot(geyser, aes(x=duration)) + geom_bkde(bandwidth=0.25) # 2D KernSmooth::bkde2D plots are a WIP geyser_dat <- data.frame(x=geyser$duration, y=geyser$waiting) ggplot(geyser_dat, aes(x, y)) + geom_point() + geom_bkde2d(bandwidth=c(0.7, 7)) + xlim(0, 6) + ylim(35, 120) ggplot(geyser_dat, aes(x, y)) + geom_point() + stat_bkde2d(bandwidth=c(0.7, 7)) + xlim(0, 6) + ylim(35, 120) ``` ### Test Results ```{r} library(ggalt) library(testthat) date() test_dir("tests/") ``` ### Code of Conduct Please note that this project is released with a [Contributor Code of Conduct](CONDUCT.md). By participating in this project you agree to abide by its terms.