Explorar el Código

Add fancy theme, do not change font by default

pull/4/head
Garrick Aden-Buie hace 8 años
padre
commit
bb8efcfe46
Se han modificado 18 ficheros con 110 adiciones y 91 borrados
  1. +1
    -1
      DESCRIPTION
  2. +1
    -0
      NAMESPACE
  3. +3
    -0
      NEWS.md
  4. +18
    -20
      R/theme_pomological.R
  5. +30
    -27
      Readme.Rmd
  6. +44
    -34
      Readme.md
  7. BIN
      Readme_files/figure-gfm/ggpomological.png
  8. BIN
      Readme_files/figure-gfm/plot-bar-chart-1.png
  9. BIN
      Readme_files/figure-gfm/plot-bar-chart-painted.png
  10. BIN
      Readme_files/figure-gfm/plot-demo-3.png
  11. BIN
      Readme_files/figure-gfm/plot-demo-4.png
  12. BIN
      Readme_files/figure-gfm/plot-demo-painted.png
  13. BIN
      Readme_files/figure-gfm/plot-density-1.png
  14. BIN
      Readme_files/figure-gfm/plot-density-demo-painted.png
  15. BIN
      Readme_files/figure-gfm/plot-full-bar-stack-1.png
  16. BIN
      Readme_files/figure-gfm/plot-full-bar-stack-painted.png
  17. BIN
      Readme_files/figure-gfm/plot-ridges-painted.png
  18. +13
    -9
      man/theme_pomological.Rd

+ 1
- 1
DESCRIPTION Ver fichero

@@ -1,5 +1,5 @@
Package: ggpomological
Version: 0.1.0
Version: 0.1.1
Title: Pomological plot themes for ggplot2
Description: Pomological plot themes and scales for ggplot2 (in progress)
Authors@R: person("Garrick", "Aden-Buie", , "g.adenbuie@gmail.com", c("aut", "cre"))

+ 1
- 0
NAMESPACE Ver fichero

@@ -5,5 +5,6 @@ export(scale_color_pomological)
export(scale_colour_pomological)
export(scale_fill_pomological)
export(theme_pomological)
export(theme_pomological_fancy)
export(theme_pomological_nobg)
export(theme_pomological_plain)

+ 3
- 0
NEWS.md Ver fichero

@@ -0,0 +1,3 @@
# ggpomological 0.1.1

* Do not mess with fonts as default values of `theme_pomological()`. Created `theme_pomological_fancy()` as wrapper with fancy font defaults instead.

+ 18
- 20
R/theme_pomological.R Ver fichero

@@ -48,15 +48,13 @@
#' basic_iris_plot +
#' theme_pomological()
#'
#' # Don't change panel grid color
#' # With fonts (manual)
#' basic_iris_plot +
#' theme_pomological(
#' panel.grid.color = NULL
#' )
#' theme_pomological("Homemade Apple", 16)
#'
#' # White background
#' # Or with fancy alias (same as previous)
#' basic_iris_plot +
#' theme_pomological_nobg()
#' theme_pomological_fancy()
#'
#' # Plain plot without font or background
#' basic_iris_plot +
@@ -64,8 +62,8 @@
#'
#' @export
theme_pomological <- function(
base_family = "Homemade Apple",
base_size = 14,
base_family = NULL,
base_size = 11,
text.color = pomological_base$dark_blue,
plot.background.color = pomological_base$paper,
panel.border.color = pomological_base$light_line,
@@ -81,7 +79,7 @@ theme_pomological <- function(
base_theme +
ggplot2::theme(
text = ggplot2::element_text(
family = base_family,
family = if (!is.null(base_family)) base_family,
size = base_size,
colour = text.color
),
@@ -108,21 +106,21 @@ theme_pomological <- function(

#' @describeIn theme_pomological Pomological theme with white (transparent) background
#' @export
theme_pomological_nobg <- function(...) {
dots <- list(...)
dots$plot.background.color <- "transparent"
do.call("theme_pomological", args = dots)
theme_pomological_nobg <- function(..., plot.background.color = "transparent") {
theme_pomological(plot.background.color = plot.background.color, ...)
}

#' @describeIn theme_pomological A "plain" pomological theme with white
#' background and normal fonts.
#' background and normal fonts.
#' @export
theme_pomological_plain <- function(...) {
dots <- list(...)
dots$plot.background.color <- "transparent"
if (!"base_family" %in% names(dots)) dots["base_family"] <- ""
if (!"base_size" %in% names(dots)) dots["base_size"] <- 11
do.call("theme_pomological", args = dots)
theme_pomological_plain <- function(base_family = "", base_size = 11, plot.background.color = "transparent", ...) {
theme_pomological(base_family, base_size, plot.background.color = plot.background.color, ...)
}

#' @describeIn theme_pomological A "fancy" pomological theme with fancy fonts
#' @export
theme_pomological_fancy <- function(base_family = "Homemade Apple", base_size = 16, ...) {
theme_pomological(base_family, base_size, ...)
}

font_urls <- data.frame(

+ 30
- 27
Readme.Rmd Ver fichero

@@ -1,7 +1,6 @@
---
title: "Pomological Colors"
author: "Garrick Aden-Buie"
date: "2/4/2018"
output: github_document
editor_options:
chunk_output_type: console
@@ -13,8 +12,6 @@ library(ggpomological)
library(dplyr)
```

## Pomological Plots


<!-- Links -->
[rstudioconf]: https://www.rstudio.com/conference/
@@ -38,7 +35,7 @@ readr::read_tsv("https://cs.joensuu.fi/sipu/datasets/Compound.txt", col_names =
labs(x = "Space", y = "Time",
color = "Fruit", title = "ggpomological") +
scale_color_pomological() +
theme_pomological()
theme_pomological_fancy()
} %>%
paint_pomological(res = 110) %>%
magick::image_write("Readme_files/figure-gfm/ggpomological.png")
@@ -46,7 +43,7 @@ readr::read_tsv("https://cs.joensuu.fi/sipu/datasets/Compound.txt", col_names =

![](Readme_files/figure-gfm/ggpomological.png)

![](Readme_files/pom-examples.jpg)
![](Readme_files/pom-examples.jpg)^[U.S. Department of Agriculture Pomological Watercolor Collection. Rare and Special Collections, National Agricultural Library, Beltsville, MD 20705]

## Installation

@@ -82,18 +79,10 @@ There are three theme-generating functions:

- `theme_pomological()` sets the plot theme to be representative of the paper and styling of the watercolors and includes a paper-colored background,

- `theme_pomological_nobg()` has the same styling, just with a transparent (or white) background,
- `theme_pomological_plain()` has the same styling, just with a transparent (or white) background,

- `theme_pomological_plain()` has a white background and doesn't change the font unless requested.
- `theme_pomological_fancy()` has the paper-colored background and defaults to a fancy handwritten font ([Homemade Apple](https://fonts.google.com/specimen/Homemade+Apple/)).

A handwriting font is needed for the fully authentic pomological look, and I found a few from Google Fonts that fit the bill.

- [Mr. De Haviland](https://fonts.google.com/specimen/Mr+De+Haviland)
- [Homemade Apple](https://fonts.google.com/specimen/Homemade+Apple/)
- [Marck Script](https://fonts.google.com/specimen/Marck+Script/)
- [Mr. Bedfort](https://fonts.google.com/specimen/Mr+Bedfort/)

Alternatively, use something like [calligrapher.com](https://www.calligraphr.com/) to create your own handwriting font!

For color and fill scales, **ggpomological** provides `scale_color_pomological()` and `scale_fill_pomological()`.

@@ -105,6 +94,19 @@ In the future, I might revisit this package to

3. Set up continuous scale colors (we'll see...)

## Fonts

A handwriting font is needed for the fully authentic pomological look, and I found a few from Google Fonts that fit the bill.

- [Mr. De Haviland](https://fonts.google.com/specimen/Mr+De+Haviland)
- [Homemade Apple](https://fonts.google.com/specimen/Homemade+Apple/)
- [Marck Script](https://fonts.google.com/specimen/Marck+Script/)
- [Mr. Bedfort](https://fonts.google.com/specimen/Mr+Bedfort/)

Alternatively, use something like [calligrapher.com](https://www.calligraphr.com/) to create your own handwriting font!

But fonts can be painful in R, so the base functions -- `theme_pomological()` and `theme_pomological_plain()` -- don't change the font by default.
To opt into the full pomological effect, use `theme_pomological_fancy()` which is just an alias for `theme_pomological(base_family = "Homemade Apple", base_size = 16)`.

## Add paper background!

@@ -120,6 +122,8 @@ library(ggpomological)
library(dplyr)
```

**Warning**: If you don't have the [above fonts](#fonts) installed, you'll get an error message with a lot of warnings when running the below examples. Just replace `theme_pomological("Homemade Apple", 16)` with `theme_pomological()` for the basic theme without the crazy fonts.

### Basic iris plot

```{r plot-demo}
@@ -136,15 +140,14 @@ basic_iris_plot <- basic_iris_plot + scale_color_pomological()
basic_iris_plot

# With pomological theme
pomological_iris <- basic_iris_plot + theme_pomological()
pomological_iris
basic_iris_plot + theme_pomological()

# With transparent background
basic_iris_plot + theme_pomological_nobg()

# Or with "plain" pomological
basic_iris_plot + theme_pomological_plain()

# Or with "fancy" pomological settings
pomological_iris <- basic_iris_plot + theme_pomological_fancy()

# Painted!
paint_pomological(pomological_iris, res = 110) %>%
magick::image_write("Readme_files/figure-gfm/plot-demo-painted.png")
@@ -165,10 +168,10 @@ stacked_bar_plot <- ggplot(diamonds) +
scale_x_continuous(label = scales::dollar_format()) +
scale_fill_pomological()

stacked_bar_plot + theme_pomological()
stacked_bar_plot + theme_pomological("Homemade Apple", 16)

paint_pomological(
stacked_bar_plot + theme_pomological_nobg(),
stacked_bar_plot + theme_pomological_fancy(),
res = 110
) %>%
magick::image_write("Readme_files/figure-gfm/plot-bar-chart-painted.png")
@@ -188,10 +191,10 @@ density_plot <- mtcars %>%
scale_color_pomological() +
scale_fill_pomological()

density_plot + theme_pomological()
density_plot + theme_pomological("Homemade Apple", 16)

paint_pomological(
density_plot + theme_pomological_nobg(),
density_plot + theme_pomological_fancy(),
res = 110
) %>%
magick::image_write("Readme_files/figure-gfm/plot-density-demo-painted.png")
@@ -225,10 +228,10 @@ full_bar_stack_plot <- txhousing %>%
theme(panel.grid.minor.x = element_blank()) +
scale_fill_pomological()

full_bar_stack_plot + theme_pomological()
full_bar_stack_plot + theme_pomological("Homemade Apple", 16)

paint_pomological(
full_bar_stack_plot + theme_pomological_nobg(),
full_bar_stack_plot + theme_pomological_fancy(),
res = 110
) %>%
magick::image_write("Readme_files/figure-gfm/plot-full-bar-stack-painted.png")
@@ -244,7 +247,7 @@ Using my own handwriting and the `ggridges` package.
ridges_pomological <- ggplot(diamonds) +
aes(x = carat, y = clarity, color = clarity, fill = clarity) +
ggridges::geom_density_ridges(alpha = 0.75) +
theme_pomological_nobg(
theme_pomological(
base_family = 'gWriting',
base_size = 20,
base_theme = ggridges::theme_ridges()

+ 44
- 34
Readme.md Ver fichero

@@ -1,9 +1,6 @@
Pomological Colors
================
Garrick Aden-Buie
2/4/2018

## Pomological Plots

<!-- Links -->

@@ -15,7 +12,7 @@ parameterized RMarkdown](https://youtu.be/Ol1FjFR2IMU?t=5h21m15s) at

![](Readme_files/figure-gfm/ggpomological.png)

![](Readme_files/pom-examples.jpg)
![](Readme_files/pom-examples.jpg)\[1\]

## Installation

@@ -61,11 +58,26 @@ There are three theme-generating functions:
the paper and styling of the watercolors and includes a
paper-colored background,

- `theme_pomological_nobg()` has the same styling, just with a
- `theme_pomological_plain()` has the same styling, just with a
transparent (or white) background,

- `theme_pomological_plain()` has a white background and doesn’t
change the font unless requested.
- `theme_pomological_fancy()` has the paper-colored background and
defaults to a fancy handwritten font ([Homemade
Apple](https://fonts.google.com/specimen/Homemade+Apple/)).

For color and fill scales, **ggpomological** provides
`scale_color_pomological()` and `scale_fill_pomological()`.

In the future, I might revisit this package to

1. Increase colors in discrete scale

2. Setup paired color scales. Lots of great color pairs in the
extracted colors.

3. Set up continuous scale colors (we’ll see…)

## Fonts

A handwriting font is needed for the fully authentic pomological look,
and I found a few from Google Fonts that fit the bill.
@@ -79,17 +91,11 @@ Alternatively, use something like
[calligrapher.com](https://www.calligraphr.com/) to create your own
handwriting font\!

For color and fill scales, **ggpomological** provides
`scale_color_pomological()` and `scale_fill_pomological()`.

In the future, I might revisit this package to

1. Increase colors in discrete scale

2. Setup paired color scales. Lots of great color pairs in the
extracted colors.

3. Set up continuous scale colors (we’ll see…)
But fonts can be painful in R, so the base functions –
`theme_pomological()` and `theme_pomological_plain()` – don’t change the
font by default. To opt into the full pomological effect, use
`theme_pomological_fancy()` which is just an alias for
`theme_pomological(base_family = "Homemade Apple", base_size = 16)`.

## Add paper background\!

@@ -108,6 +114,11 @@ library(ggpomological)
library(dplyr)
```

**Warning**: If you don’t have the [above fonts](#fonts) installed,
you’ll get an error message with a lot of warnings when running the
below examples. Just replace `theme_pomological("Homemade Apple", 16)`
with `theme_pomological()` for the basic theme without the crazy fonts.

### Basic iris plot

``` r
@@ -132,27 +143,22 @@ basic_iris_plot

``` r
# With pomological theme
pomological_iris <- basic_iris_plot + theme_pomological()
pomological_iris
basic_iris_plot + theme_pomological()
```

![](Readme_files/figure-gfm/plot-demo-3.png)<!-- -->

``` r
# With transparent background
basic_iris_plot + theme_pomological_nobg()
basic_iris_plot + theme_pomological_plain()
```

![](Readme_files/figure-gfm/plot-demo-4.png)<!-- -->

``` r
# Or with "plain" pomological
basic_iris_plot + theme_pomological_plain()
```

![](Readme_files/figure-gfm/plot-demo-5.png)<!-- -->
# Or with "fancy" pomological settings
pomological_iris <- basic_iris_plot + theme_pomological_fancy()

``` r
# Painted!
paint_pomological(pomological_iris, res = 110) %>%
magick::image_write("Readme_files/figure-gfm/plot-demo-painted.png")
@@ -172,14 +178,14 @@ stacked_bar_plot <- ggplot(diamonds) +
scale_x_continuous(label = scales::dollar_format()) +
scale_fill_pomological()

stacked_bar_plot + theme_pomological()
stacked_bar_plot + theme_pomological("Homemade Apple", 16)
```

![](Readme_files/figure-gfm/plot-bar-chart-1.png)<!-- -->

``` r
paint_pomological(
stacked_bar_plot + theme_pomological_nobg(),
stacked_bar_plot + theme_pomological_fancy(),
res = 110
) %>%
magick::image_write("Readme_files/figure-gfm/plot-bar-chart-painted.png")
@@ -199,14 +205,14 @@ density_plot <- mtcars %>%
scale_color_pomological() +
scale_fill_pomological()

density_plot + theme_pomological()
density_plot + theme_pomological("Homemade Apple", 16)
```

![](Readme_files/figure-gfm/plot-density-1.png)<!-- -->

``` r
paint_pomological(
density_plot + theme_pomological_nobg(),
density_plot + theme_pomological_fancy(),
res = 110
) %>%
magick::image_write("Readme_files/figure-gfm/plot-density-demo-painted.png")
@@ -243,14 +249,14 @@ full_bar_stack_plot <- txhousing %>%
theme(panel.grid.minor.x = element_blank()) +
scale_fill_pomological()

full_bar_stack_plot + theme_pomological()
full_bar_stack_plot + theme_pomological("Homemade Apple", 16)
```

![](Readme_files/figure-gfm/plot-full-bar-stack-1.png)<!-- -->

``` r
paint_pomological(
full_bar_stack_plot + theme_pomological_nobg(),
full_bar_stack_plot + theme_pomological_fancy(),
res = 110
) %>%
magick::image_write("Readme_files/figure-gfm/plot-full-bar-stack-painted.png")
@@ -266,7 +272,7 @@ Using my own handwriting and the `ggridges` package.
ridges_pomological <- ggplot(diamonds) +
aes(x = carat, y = clarity, color = clarity, fill = clarity) +
ggridges::geom_density_ridges(alpha = 0.75) +
theme_pomological_nobg(
theme_pomological(
base_family = 'gWriting',
base_size = 20,
base_theme = ggridges::theme_ridges()
@@ -281,3 +287,7 @@ paint_pomological(ridges_pomological, res = 110) %>%
## Picking joint bandwidth of 0.057

![](Readme_files/figure-gfm/plot-ridges-painted.png)

1. U.S. Department of Agriculture Pomological Watercolor Collection.
Rare and Special Collections, National Agricultural Library,
Beltsville, MD 20705

BIN
Readme_files/figure-gfm/ggpomological.png Ver fichero

Antes Después
Anchura: 800  |  Altura: 500  |  Tamaño: 563KB Anchura: 800  |  Altura: 500  |  Tamaño: 566KB

BIN
Readme_files/figure-gfm/plot-bar-chart-1.png Ver fichero

Antes Después
Anchura: 768  |  Altura: 480  |  Tamaño: 38KB Anchura: 768  |  Altura: 480  |  Tamaño: 43KB

BIN
Readme_files/figure-gfm/plot-bar-chart-painted.png Ver fichero

Antes Después
Anchura: 800  |  Altura: 500  |  Tamaño: 531KB Anchura: 800  |  Altura: 500  |  Tamaño: 537KB

BIN
Readme_files/figure-gfm/plot-demo-3.png Ver fichero

Antes Después
Anchura: 768  |  Altura: 480  |  Tamaño: 53KB Anchura: 768  |  Altura: 480  |  Tamaño: 43KB

BIN
Readme_files/figure-gfm/plot-demo-4.png Ver fichero

Antes Después
Anchura: 768  |  Altura: 480  |  Tamaño: 53KB Anchura: 768  |  Altura: 480  |  Tamaño: 43KB

BIN
Readme_files/figure-gfm/plot-demo-painted.png Ver fichero

Antes Después
Anchura: 800  |  Altura: 500  |  Tamaño: 534KB Anchura: 800  |  Altura: 500  |  Tamaño: 538KB

BIN
Readme_files/figure-gfm/plot-density-1.png Ver fichero

Antes Después
Anchura: 768  |  Altura: 480  |  Tamaño: 47KB Anchura: 768  |  Altura: 480  |  Tamaño: 50KB

BIN
Readme_files/figure-gfm/plot-density-demo-painted.png Ver fichero

Antes Después
Anchura: 800  |  Altura: 500  |  Tamaño: 515KB Anchura: 800  |  Altura: 500  |  Tamaño: 518KB

BIN
Readme_files/figure-gfm/plot-full-bar-stack-1.png Ver fichero

Antes Después
Anchura: 768  |  Altura: 480  |  Tamaño: 48KB Anchura: 768  |  Altura: 480  |  Tamaño: 52KB

BIN
Readme_files/figure-gfm/plot-full-bar-stack-painted.png Ver fichero

Antes Después
Anchura: 800  |  Altura: 500  |  Tamaño: 509KB Anchura: 800  |  Altura: 500  |  Tamaño: 523KB

BIN
Readme_files/figure-gfm/plot-ridges-painted.png Ver fichero

Antes Después
Anchura: 800  |  Altura: 500  |  Tamaño: 528KB Anchura: 800  |  Altura: 500  |  Tamaño: 528KB

+ 13
- 9
man/theme_pomological.Rd Ver fichero

@@ -4,9 +4,10 @@
\alias{theme_pomological}
\alias{theme_pomological_nobg}
\alias{theme_pomological_plain}
\alias{theme_pomological_fancy}
\title{Pomological Theme}
\usage{
theme_pomological(base_family = "Homemade Apple", base_size = 18,
theme_pomological(base_family = NULL, base_size = 11,
text.color = pomological_base$dark_blue,
plot.background.color = pomological_base$paper,
panel.border.color = pomological_base$light_line, with.panel.grid = FALSE,
@@ -15,9 +16,12 @@ theme_pomological(base_family = "Homemade Apple", base_size = 18,
axis.text.color = pomological_base$medium_line, axis.text.size = base_size
* 3/4, base_theme = ggplot2::theme_minimal())

theme_pomological_nobg(...)
theme_pomological_nobg(..., plot.background.color = "transparent")

theme_pomological_plain(...)
theme_pomological_plain(base_family = "", base_size = 11,
plot.background.color = "transparent", ...)

theme_pomological_fancy(base_family = "Homemade Apple", base_size = 16, ...)
}
\arguments{
\item{base_family}{Base text family. See \strong{Fonts} in \code{\link[=theme_pomological]{theme_pomological()}}
@@ -54,6 +58,8 @@ to \code{NULL}.}

\item \code{theme_pomological_plain}: A "plain" pomological theme with white
background and normal fonts.

\item \code{theme_pomological_fancy}: A "fancy" pomological theme with fancy fonts
}}

\section{Fonts}{
@@ -86,15 +92,13 @@ basic_iris_plot <- ggplot(iris) +
basic_iris_plot +
theme_pomological()

# Don't change panel grid color
# With fonts (manual)
basic_iris_plot +
theme_pomological(
panel.grid.color = NULL
)
theme_pomological("Homemade Apple", 16)
# White background
# Or with fancy alias (same as previous)
basic_iris_plot +
theme_pomological_nobg()
theme_pomological_fancy()
# Plain plot without font or background
basic_iris_plot +

Cargando…
Cancelar
Guardar