Procházet zdrojové kódy

Add fancy theme, do not change font by default

pull/4/head
Garrick Aden-Buie před 8 roky
rodič
revize
bb8efcfe46
18 změnil soubory, kde provedl 110 přidání a 91 odebrání
  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ární
      Readme_files/figure-gfm/ggpomological.png
  8. binární
      Readme_files/figure-gfm/plot-bar-chart-1.png
  9. binární
      Readme_files/figure-gfm/plot-bar-chart-painted.png
  10. binární
      Readme_files/figure-gfm/plot-demo-3.png
  11. binární
      Readme_files/figure-gfm/plot-demo-4.png
  12. binární
      Readme_files/figure-gfm/plot-demo-painted.png
  13. binární
      Readme_files/figure-gfm/plot-density-1.png
  14. binární
      Readme_files/figure-gfm/plot-density-demo-painted.png
  15. binární
      Readme_files/figure-gfm/plot-full-bar-stack-1.png
  16. binární
      Readme_files/figure-gfm/plot-full-bar-stack-painted.png
  17. binární
      Readme_files/figure-gfm/plot-ridges-painted.png
  18. +13
    -9
      man/theme_pomological.Rd

+ 1
- 1
DESCRIPTION Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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ární
Readme_files/figure-gfm/ggpomological.png Zobrazit soubor

Před Za
Šířka: 800  |  Výška: 500  |  Velikost: 563KB Šířka: 800  |  Výška: 500  |  Velikost: 566KB

binární
Readme_files/figure-gfm/plot-bar-chart-1.png Zobrazit soubor

Před Za
Šířka: 768  |  Výška: 480  |  Velikost: 38KB Šířka: 768  |  Výška: 480  |  Velikost: 43KB

binární
Readme_files/figure-gfm/plot-bar-chart-painted.png Zobrazit soubor

Před Za
Šířka: 800  |  Výška: 500  |  Velikost: 531KB Šířka: 800  |  Výška: 500  |  Velikost: 537KB

binární
Readme_files/figure-gfm/plot-demo-3.png Zobrazit soubor

Před Za
Šířka: 768  |  Výška: 480  |  Velikost: 53KB Šířka: 768  |  Výška: 480  |  Velikost: 43KB

binární
Readme_files/figure-gfm/plot-demo-4.png Zobrazit soubor

Před Za
Šířka: 768  |  Výška: 480  |  Velikost: 53KB Šířka: 768  |  Výška: 480  |  Velikost: 43KB

binární
Readme_files/figure-gfm/plot-demo-painted.png Zobrazit soubor

Před Za
Šířka: 800  |  Výška: 500  |  Velikost: 534KB Šířka: 800  |  Výška: 500  |  Velikost: 538KB

binární
Readme_files/figure-gfm/plot-density-1.png Zobrazit soubor

Před Za
Šířka: 768  |  Výška: 480  |  Velikost: 47KB Šířka: 768  |  Výška: 480  |  Velikost: 50KB

binární
Readme_files/figure-gfm/plot-density-demo-painted.png Zobrazit soubor

Před Za
Šířka: 800  |  Výška: 500  |  Velikost: 515KB Šířka: 800  |  Výška: 500  |  Velikost: 518KB

binární
Readme_files/figure-gfm/plot-full-bar-stack-1.png Zobrazit soubor

Před Za
Šířka: 768  |  Výška: 480  |  Velikost: 48KB Šířka: 768  |  Výška: 480  |  Velikost: 52KB

binární
Readme_files/figure-gfm/plot-full-bar-stack-painted.png Zobrazit soubor

Před Za
Šířka: 800  |  Výška: 500  |  Velikost: 509KB Šířka: 800  |  Výška: 500  |  Velikost: 523KB

binární
Readme_files/figure-gfm/plot-ridges-painted.png Zobrazit soubor

Před Za
Šířka: 800  |  Výška: 500  |  Velikost: 528KB Šířka: 800  |  Výška: 500  |  Velikost: 528KB

+ 13
- 9
man/theme_pomological.Rd Zobrazit soubor

@@ -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 +

Načítá se…
Zrušit
Uložit