Skip to content
This repository

ggplot themes and scales

branch: master
README.md

ggthemes

Some extra geoms, scales, and themes for ggplot, including

Geoms

  • geom_rangeframe : Tufte's range frame
  • geom_tufteboxplot: Tufte's box plot

Themes

  • theme_tufte: a minimal ink based on Tufte's The Visual Display of Quantitative Information.
  • theme_solarized: a theme using the solarized color palette.
  • theme_stata: themes based on Stata graph schemes.
  • theme_economist: a theme based on the plots in the The Economist magazine.
  • theme_excel: a theme replicating the classic ugly gray charts in Excel
  • theme_wsj: a theme based on the plots in the The Wall Street Journal.
  • theme_few: theme from Stephen Few's "Practical Rules for Using Color in Charts".
  • theme_calc: a theme based on LibreOffice Calc.
  • theme_gdocs: a theme based on Google Docs.

Scales

  • scale_color_solarized: Solarized colors
  • scale_color_economist: colors used in plots in plots in The Economist.
  • scale_color_stata, scale_shapes_stata, scale_linetype_stata: color, shape, and linetype palettes from Stata graph schemes.
  • scale_color_excel: colors from new and old Excel.
  • scale_color_tableau, scale_shape_tableau: color and shape palettes from Tableau.
  • scale_shape_cleveland, scale_shape_tremmel, scale_shape_circlefill: shape scales from classic works in visual perception: Cleveland, Tremmel (1995), and Lewandowsky and Spence (1989).
  • scale_color_few: color palettes from Stephen Few's "Practical Rules for Using Color in Charts".
  • scale_color_colorblind: Colorblind safe palette from http://jfly.iam.u-tokyo.ac.jp/color/.
  • scale_color_gdocs: color palette from Google Docs.
  • scale_color_calc, scale_shape_calc: color and shape palettes from LibreOffice Calc.

Install

To install the stable version from CRAN,

install.packages('ggthemes', dependencies = TRUE)

Or, to install the development version from github, use the devtools package,

library("devtools")
install_github("ggthemes", "jrnold")

Windows users also must first install Rtools.

Contribute

Contributions are welcome! If you would like to add a theme, scales, etc., fork the repository, add your theme, and submit a pull request.

Examples

library("ggplot2")
library("ggthemes")
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]

Tufte theme and geoms

Minimal theme and geoms based on plots in The Visual Display of Quantitative Information.

(ggplot(mtcars, aes(wt, mpg)) + geom_point() + geom_rangeframe() + theme_tufte())

plot of chunk tufte-rangeframe

The Tufte minimal boxplot.

(ggplot(mtcars, aes(factor(cyl), mpg)) + theme_tufte(ticks = FALSE) + geom_tufteboxplot())

plot of chunk tufteboxplot

Economist theme

A theme that approximates the style of plots in The Economist magazine.

(qplot(carat, price, data = dsamp, colour = cut) + theme_economist() + scale_colour_economist() + 
    ggtitle("Diamonds Are Forever"))

plot of chunk economist

Solarized theme

A theme and color and fill scales based on the Solarized palette.

The light theme.

(qplot(carat, price, data = dsamp, colour = cut) + theme_solarized() + scale_colour_solarized("blue"))

plot of chunk solarized-light

The dark theme.

(qplot(carat, price, data = dsamp, colour = cut) + theme_solarized(light = FALSE) + 
    scale_colour_solarized("red"))

plot of chunk solarized-dark

An alternative theme.

(qplot(carat, price, data = dsamp, colour = cut) + theme_solarized_2() + scale_colour_solarized("blue"))

plot of chunk solarized-alt

Stata theme

Themes and scales (color, fill, linetype, shapes) based on the graph schemes in Stata.

(qplot(carat, price, data = dsamp, colour = cut) + theme_stata() + scale_colour_stata() + 
    ggtitle("Plot Title"))

plot of chunk stata

Excel 2003 theme

For that classic ugly look and feel. For ironic purposes only. 3D bars and pies not included. Please never use this theme.

(qplot(carat, price, data = dsamp, colour = cut) + theme_excel() + scale_colour_excel())

plot of chunk excel1

(ggplot(diamonds, aes(clarity, fill = cut)) + geom_bar() + scale_fill_excel() + 
    theme_excel())

plot of chunk excel2

Inverse Gray Theme

Inverse of theme_gray, i.e. white plot area and gray background.

(qplot(carat, price, data = dsamp, colour = cut) + theme_igray())

plot of chunk igray

Tableau Scales

Color, fill, and shape scales based on those used in the Tableau softare.

(qplot(carat, price, data = dsamp, colour = cut) + theme_igray() + scale_colour_tableau())

plot of chunk tableau

(qplot(carat, price, data = dsamp, colour = cut) + theme_igray() + scale_colour_tableau("colorblind10"))

plot of chunk tableau-colorbind10

Stephen Few's Practical Rules for Using Color ...

Color palette and theme based on Stephen Few's "Practical Rules for Using Color in Charts".

(qplot(carat, price, data = dsamp, colour = cut) + theme_few() + scale_colour_few())

plot of chunk few

Wall Street Journal

Theme and some color palettes based on plots in the The Wall Street Journal.

(qplot(carat, price, data = dsamp, colour = cut) + theme_wsj() + scale_colour_wsj("colors6", 
    "") + ggtitle("Diamond Prices"))

plot of chunk wsj

GDocs Theme

Theme and color palettes based on the defaults in Google Docs.

(qplot(carat, price, data = dsamp, colour = clarity) + theme_gdocs() + ggtitle("Diamonds") + 
    scale_color_gdocs())

plot of chunk gdocs

Calc Theme

Theme and color and shape palettes based on the defaults in LibreOffice Calc.

(qplot(carat, price, data = dsmall, colour = clarity) + theme_calc() + ggtitle("Diamonds") + 
    scale_color_calc())

plot of chunk calc

Something went wrong with that request. Please try again.