43d884074b into 69f381504f
|
4 anos atrás | |
|---|---|---|
| R | 6 anos atrás | |
| inst | 6 anos atrás | |
| man | 6 anos atrás | |
| pom-examples | 8 anos atrás | |
| vignettes | 6 anos atrás | |
| .Rbuildignore | 8 anos atrás | |
| .gitignore | 8 anos atrás | |
| DESCRIPTION | 6 anos atrás | |
| LICENSE.md | 8 anos atrás | |
| NAMESPACE | 8 anos atrás | |
| NEWS.md | 8 anos atrás | |
| Readme.Rmd | 6 anos atrás | |
| Readme.md | 4 anos atrás | |
| pomological.Rproj | 8 anos atrás | |
Garrick Aden-Buie
This package isn’t on CRAN, so you’ll need to use the devtools package to install it.
# If you don't have devtools installed
install.packages("devtools")
devtools::install_github("gadenbuie/ggpomological")
# To include the vignette
devtools::install_github("gadenbuie/ggpomological", build_vignettes=TRUE)This package provides a ggplot2 theme inspired by the USDA Pomological Watercolors collection and by Aron Atkins’s (@aronatkins) talk on parameterized RMarkdown at rstudio::conf 2018.

[1]
The colors for this theme were drawn from many images from the USDA Pomological Watercolors collection, I chose just a few that I thought worked well together for color and fill scales

and a few colors for the plot background and decoration

I’ve also included a css file with the complete collection of color samples.
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_plain() has the same styling, just
with a transparent (or white) background,
theme_pomological_fancy() has the paper-colored
background and defaults to a fancy handwritten font (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
Increase colors in discrete scale
Setup paired color scales. Lots of great color pairs in the extracted colors.
Set up continuous scale colors (we’ll see…)
A handwriting font is needed for the fully authentic pomological look, and I found a few from Google Fonts that fit the bill.
Alternatively, use something like calligrapher.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).
ggpomological also provides a function named
paint_pomological that uses the magick
package to add a pomological watercolor paper background and a subtle
texture overlay.
We’ll need ggplot2 (loaded with ggpomological) and dplyr
Warning: If you don’t have the above 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.
# Prep msleep data
msleep <- ggplot2::msleep[, c("vore", "sleep_rem", "sleep_total")]
msleep <- msleep[complete.cases(msleep), ]
msleep$vore <- paste0(msleep$vore, "vore")
# Base plot
basic_msleep_plot <- ggplot(msleep) +
aes(x = sleep_rem, y = sleep_total, color = vore) +
geom_point(size = 2) +
labs(color = NULL)
# Just your standard ggplot
basic_msleep_plot 
# With pomological colors
basic_msleep_plot <- basic_msleep_plot + scale_color_pomological()
basic_msleep_plot


# Or with "fancy" pomological settings
pomological_msleep <- basic_msleep_plot + theme_pomological_fancy()
# Painted!
paint_pomological(pomological_msleep, res = 110)
stacked_bar_plot <- ggplot(diamonds) +
aes(price, fill = cut) +
geom_histogram(binwidth = 850) +
xlab('Price (USD)') +
ylab('Count') +
ggtitle("ggpomological") +
scale_x_continuous(labels = scales::dollar_format()) +
scale_fill_pomological()
stacked_bar_plot + theme_pomological("Homemade Apple", 16)

density_plot <- mtcars %>%
mutate(cyl = factor(cyl)) %>%
ggplot() +
aes(mpg, fill = cyl, color = cyl)+
geom_density(alpha = 0.75) +
labs(fill = 'Cylinders', colour = 'Cylinders', x = 'MPG', y = 'Density') +
scale_color_pomological() +
scale_fill_pomological()
density_plot + theme_pomological("Homemade Apple", 16)

Data from the Texas Housing
big_volume_cities <- txhousing %>%
group_by(city) %>%
summarize(mean_volume = mean(volume, na.rm = TRUE)) %>%
arrange(-mean_volume) %>%
top_n(length(ggpomological:::pomological_palette)) %>%
pull(city)
#> Selecting by mean_volume
full_bar_stack_plot <- txhousing %>%
filter(city %in% big_volume_cities) %>%
group_by(city, year) %>%
summarize(mean_volume = mean(volume, na.rm = TRUE)) %>%
ungroup %>%
mutate(city = factor(city, big_volume_cities)) %>%
ggplot() +
aes(year, mean_volume, fill = city, group = city) +
geom_col(position = 'fill', width = 0.9) +
labs(x = 'City', y = 'Mean Volume', color = 'City') +
theme(panel.grid.minor.x = element_blank()) +
scale_fill_pomological()
full_bar_stack_plot + theme_pomological("Homemade Apple", 16)

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(
base_family = 'gWriting',
base_size = 20,
base_theme = ggridges::theme_ridges()
) +
scale_fill_pomological() +
scale_color_pomological()
paint_pomological(ridges_pomological, res = 110)
#> Picking joint bandwidth of 0.057