├── .gitattributes
├── .gitignore
├── 00-author.Rmd
├── 01-introduction.Rmd
├── 02-ggplot2-package.Rmd
├── 03-get-started.Rmd
├── 04-walk-through-example.Rmd
├── 05-tips-design.Rmd
├── 06-tips-workflow.Rmd
├── 07-working-with-layers.Rmd
├── 08-working-with-colors.Rmd
├── 09-working-with-text.Rmd
├── 10-working-with-themes.Rmd
├── 70-advanced-examples.Rmd
├── 90-more.Rmd
├── 99-references.Rmd
├── LICENSE
├── README.md
├── _bookdown.yml
├── _bookdown_files
└── bookdown_files
│ ├── figure-epub3
│ ├── 02ggplotAestheticsData-1.png
│ ├── 02ggplotLayersCombinedPenguins-1.png
│ ├── 02ggplotLayersGeomsStats-1.png
│ ├── 02ggplotUniqueBabynamesBasic-1.png
│ ├── 02ggplotUniqueBabynamesExplorative-1.png
│ ├── 02ggplotUniqueBabynamesStorytelling-1.png
│ ├── 04ggplotBasic-1.png
│ ├── 04ggplotBasicAdjustLayers-1.png
│ ├── 04ggplotBasicColor-1.png
│ ├── 04ggplotBasicSmooth-1.png
│ ├── 04ggplotColors-1.png
│ ├── 04ggplotFacet-1.png
│ ├── 04ggplotFacetGrid-1.png
│ ├── 04ggplotLabels-1.png
│ ├── 04ggplotLabelsAxes-1.png
│ ├── 04ggplotLocalAesthetics-1.png
│ ├── 04ggplotThemeAdjustments-1.png
│ ├── 04ggplotThemeComplete-1.png
│ ├── 04legendLabels-1.png
│ ├── 05barsTitlePosition-1.png
│ ├── 05basicPlot-1.png
│ ├── 05guideColorsteps-1.png
│ ├── 05guideKeyHeight-1.png
│ ├── 05guidePositionTop-1.png
│ ├── 05plotMargin-1.png
│ ├── 05textHierarchy-1.png
│ ├── 05textMargins-1.png
│ ├── 05themeBaseFamily-1.png
│ ├── 05themeBaseSize-1.png
│ ├── 05themeMinimal-1.png
│ ├── 05titleAlign-1.png
│ ├── 06customThemeApplied-1.png
│ ├── 06customThemeModified-1.png
│ ├── 06examplePlotThemeSet-1.png
│ ├── 06examplePlotThemeUpdate-1.png
│ ├── 06workflowBatchDataVar-1.png
│ ├── 06workflowBatchSubsets-1.png
│ ├── 07layerPositionalInputsLinerange-1.png
│ ├── 07layerPositionalInputsSegment-1.png
│ ├── 07layerPositionalTypeBoxplotCut2-1.png
│ ├── 07layerPositionalTypeHistogram-1.png
│ ├── 07layerPredefinedCustomBars-1.png
│ ├── 07layerPredefinedCustomBarsDodgeVars-1.png
│ ├── 07layerPredefinedCustomPointsCount-1.png
│ ├── 07layerPredefinedCustomSmooth-1.png
│ ├── 07layerPredefinedDefaultBars-1.png
│ ├── 07layerPredefinedDefaultSmooth-1.png
│ ├── 07layerPredefinedDefaultVariants-1.png
│ ├── 07layerScatter-1.png
│ ├── 07layerTypeBoxplot-1.png
│ ├── unnamed-chunk-16-1.png
│ ├── unnamed-chunk-23-1.png
│ ├── unnamed-chunk-26-1.png
│ ├── unnamed-chunk-28-1.png
│ └── unnamed-chunk-31-1.png
│ ├── figure-html
│ ├── 02ggplotAestheticsData-1.png
│ ├── 02ggplotLayersCombinedPenguins-1.png
│ ├── 02ggplotLayersGeomsStats-1.png
│ ├── 02ggplotUniqueBabynamesBasic-1.png
│ ├── 02ggplotUniqueBabynamesExplorative-1.png
│ ├── 02ggplotUniqueBabynamesStorytelling-1.png
│ ├── 04ggplotBasic-1.png
│ ├── 04ggplotBasicAdjustLayers-1.png
│ ├── 04ggplotBasicColor-1.png
│ ├── 04ggplotBasicSmooth-1.png
│ ├── 04ggplotColors-1.png
│ ├── 04ggplotFacet-1.png
│ ├── 04ggplotFacetGrid-1.png
│ ├── 04ggplotLabels-1.png
│ ├── 04ggplotLabelsAxes-1.png
│ ├── 04ggplotLocalAesthetics-1.png
│ ├── 04ggplotThemeAdjustments-1.png
│ ├── 04ggplotThemeComplete-1.png
│ ├── 04legendLabels-1.png
│ ├── 05barsTitlePosition-1.png
│ ├── 05basicPlot-1.png
│ ├── 05guideColorsteps-1.png
│ ├── 05guideKeyHeight-1.png
│ ├── 05guidePositionTop-1.png
│ ├── 05plotMargin-1.png
│ ├── 05textHierarchy-1.png
│ ├── 05textMargins-1.png
│ ├── 05themeBaseFamily-1.png
│ ├── 05themeBaseSize-1.png
│ ├── 05themeMinimal-1.png
│ ├── 05titleAlign-1.png
│ ├── 06customThemeApplied-1.png
│ ├── 06customThemeModified-1.png
│ ├── 06examplePlotThemeSet-1.png
│ ├── 06examplePlotThemeUpdate-1.png
│ ├── 06workflowBatchDataVar-1.png
│ ├── 06workflowBatchSubsets-1.png
│ ├── 07layerPositionalInputsLinerange-1.png
│ ├── 07layerPositionalInputsSegment-1.png
│ ├── 07layerPositionalTypeBoxplotCut2-1.png
│ ├── 07layerPositionalTypeHistogram-1.png
│ ├── 07layerPredefinedCustomBars-1.png
│ ├── 07layerPredefinedCustomBarsDodgeVars-1.png
│ ├── 07layerPredefinedCustomPointsCount-1.png
│ ├── 07layerPredefinedCustomSmooth-1.png
│ ├── 07layerPredefinedDefaultBars-1.png
│ ├── 07layerPredefinedDefaultSmooth-1.png
│ ├── 07layerPredefinedDefaultVariants-1.png
│ ├── 07layerScatter-1.png
│ ├── 07layerTypeBoxplot-1.png
│ ├── unnamed-chunk-16-1.png
│ ├── unnamed-chunk-23-1.png
│ ├── unnamed-chunk-26-1.png
│ ├── unnamed-chunk-28-1.png
│ └── unnamed-chunk-31-1.png
│ └── figure-latex
│ ├── 02ggplotAestheticsData-1.png
│ ├── 02ggplotLayersCombinedPenguins-1.png
│ ├── 02ggplotLayersGeomsStats-1.png
│ ├── 02ggplotUniqueBabynamesBasic-1.png
│ ├── 02ggplotUniqueBabynamesExplorative-1.png
│ ├── 02ggplotUniqueBabynamesStorytelling-1.png
│ ├── 04ggplotBasic-1.png
│ ├── 04ggplotBasicAdjustLayers-1.png
│ ├── 04ggplotBasicColor-1.png
│ ├── 04ggplotBasicSmooth-1.png
│ ├── 04ggplotColors-1.png
│ ├── 04ggplotFacet-1.png
│ ├── 04ggplotFacetGrid-1.png
│ ├── 04ggplotLabels-1.png
│ ├── 04ggplotLabelsAxes-1.png
│ ├── 04ggplotLocalAesthetics-1.png
│ ├── 04ggplotThemeAdjustments-1.png
│ ├── 04ggplotThemeComplete-1.png
│ ├── 04legendLabels-1.png
│ ├── 05barsTitlePosition-1.png
│ ├── 05basicPlot-1.png
│ ├── 05guideColorsteps-1.png
│ ├── 05guideKeyHeight-1.png
│ ├── 05guidePositionTop-1.png
│ ├── 05plotMargin-1.png
│ ├── 05textHierarchy-1.png
│ ├── 05textMargins-1.png
│ ├── 05themeBaseFamily-1.png
│ ├── 05themeBaseSize-1.png
│ ├── 05themeMinimal-1.png
│ ├── 05titleAlign-1.png
│ ├── 06customThemeApplied-1.png
│ ├── 06customThemeModified-1.png
│ ├── 06examplePlotThemeSet-1.png
│ ├── 06examplePlotThemeUpdate-1.png
│ ├── 06workflowBatchDataVar-1.png
│ ├── 06workflowBatchSubsets-1.png
│ ├── 07layerPositionalInputsLinerange-1.png
│ ├── 07layerPositionalInputsSegment-1.png
│ ├── 07layerPositionalTypeBoxplotCut2-1.png
│ ├── 07layerPositionalTypeHistogram-1.png
│ ├── 07layerPredefinedCustomBars-1.png
│ ├── 07layerPredefinedCustomBarsDodgeVars-1.png
│ ├── 07layerPredefinedCustomPointsCount-1.png
│ ├── 07layerPredefinedCustomSmooth-1.png
│ ├── 07layerPredefinedDefaultBars-1.png
│ ├── 07layerPredefinedDefaultSmooth-1.png
│ ├── 07layerPredefinedDefaultVariants-1.png
│ ├── 07layerScatter-1.png
│ ├── 07layerTypeBoxplot-1.png
│ ├── unnamed-chunk-16-1.png
│ ├── unnamed-chunk-23-1.png
│ ├── unnamed-chunk-26-1.png
│ ├── unnamed-chunk-28-1.png
│ └── unnamed-chunk-31-1.png
├── _graphic-design-ggplot2.Rproj
├── _output.yml
├── book.bib
├── bookdown.idx
├── bookdown.lof
├── bookdown.lot
├── bookdown.toc
├── css
└── style.css
├── data
├── crypto_cleaned.rds
├── london-bikes-custom.csv
├── london-bikes-daily.csv
├── london-bikes-hourly.csv
└── london-bikes.csv
├── docs
├── 404.html
├── a-walk-through-example.html
├── about-the-author.html
├── advanced-examples.html
├── axes.html
├── bookdown.epub
├── bookdown.pdf
├── bookdown.tex
├── bookdown_files
│ └── figure-html
│ │ ├── 02ggplotAestheticsData-1.png
│ │ ├── 02ggplotLayersCombinedPenguins-1.png
│ │ ├── 02ggplotLayersGeomsStats-1.png
│ │ ├── 02ggplotUniqueBabynamesBasic-1.png
│ │ ├── 02ggplotUniqueBabynamesExplorative-1.png
│ │ ├── 02ggplotUniqueBabynamesStorytelling-1.png
│ │ ├── 04ggplotBasic-1.png
│ │ ├── 04ggplotBasicAdjustLayers-1.png
│ │ ├── 04ggplotBasicColor-1.png
│ │ ├── 04ggplotBasicSmooth-1.png
│ │ ├── 04ggplotColors-1.png
│ │ ├── 04ggplotFacet-1.png
│ │ ├── 04ggplotFacetGrid-1.png
│ │ ├── 04ggplotLabels-1.png
│ │ ├── 04ggplotLabelsAxes-1.png
│ │ ├── 04ggplotLocalAesthetics-1.png
│ │ ├── 04ggplotThemeAdjustments-1.png
│ │ ├── 04ggplotThemeComplete-1.png
│ │ ├── 04legendLabels-1.png
│ │ ├── 05barsTitlePosition-1.png
│ │ ├── 05basicPlot-1.png
│ │ ├── 05guideColorsteps-1.png
│ │ ├── 05guideKeyHeight-1.png
│ │ ├── 05guidePositionTop-1.png
│ │ ├── 05plotMargin-1.png
│ │ ├── 05textHierarchy-1.png
│ │ ├── 05textMargins-1.png
│ │ ├── 05themeBaseFamily-1.png
│ │ ├── 05themeBaseSize-1.png
│ │ ├── 05themeMinimal-1.png
│ │ ├── 05titleAlign-1.png
│ │ ├── 06customThemeApplied-1.png
│ │ ├── 06customThemeModified-1.png
│ │ ├── 06examplePlotThemeSet-1.png
│ │ ├── 06examplePlotThemeUpdate-1.png
│ │ ├── 06workflowBatchDataVar-1.png
│ │ ├── 06workflowBatchSubsets-1.png
│ │ ├── 07layerPositionalInputsLinerange-1.png
│ │ ├── 07layerPositionalInputsSegment-1.png
│ │ ├── 07layerPositionalTypeBoxplotCut2-1.png
│ │ ├── 07layerPositionalTypeHistogram-1.png
│ │ ├── 07layerPredefinedCustomBars-1.png
│ │ ├── 07layerPredefinedCustomBarsDodgeVars-1.png
│ │ ├── 07layerPredefinedCustomPointsCount-1.png
│ │ ├── 07layerPredefinedCustomSmooth-1.png
│ │ ├── 07layerPredefinedDefaultBars-1.png
│ │ ├── 07layerPredefinedDefaultSmooth-1.png
│ │ ├── 07layerPredefinedDefaultVariants-1.png
│ │ ├── 07layerScatter-1.png
│ │ ├── 07layerTypeBoxplot-1.png
│ │ ├── unnamed-chunk-16-1.png
│ │ ├── unnamed-chunk-23-1.png
│ │ ├── unnamed-chunk-26-1.png
│ │ ├── unnamed-chunk-28-1.png
│ │ └── unnamed-chunk-31-1.png
├── charts.html
├── colors.html
├── components.html
├── css
│ └── style.css
├── customizing-color-palettes.html
├── first-steps.html
├── fonts
│ ├── Amulya-Bold.ttf
│ ├── Amulya-BoldItalic.ttf
│ ├── Amulya-Italic.ttf
│ ├── Amulya-Regular.ttf
│ ├── InputMono-Bold.ttf
│ ├── InputMono-Italic.ttf
│ ├── InputMono-Regular.ttf
│ ├── InputMonoCondensed-Bold.ttf
│ ├── InputMonoCondensed-Italic.ttf
│ ├── InputMonoCondensed-Regular.ttf
│ ├── InputSansCondensed-Light.ttf
│ └── InputSansCondensed-LightItalic.ttf
├── get-started-get-started.html
├── get-started.html
├── ggplot.html
├── grammar.html
├── img
│ ├── artists-tt202239-lee-olney.png
│ ├── boxplot.png
│ ├── coffee-ratings.png
│ ├── doctor-who-tanya-shapiro.png
│ ├── setup-data-comparison-all-dodge.png
│ ├── setup-data-comparison-all-stack.png
│ ├── setup-data-comparison-boolean.png
│ ├── setup-data-comparison-raw-aggregated.png
│ ├── setup-data-comparison.png
│ ├── setup-data-overview-stack.png
│ ├── showcase
│ │ ├── artists-usa-lee-olney.png
│ │ ├── coffee-ratings-cedric-scherer.png
│ │ ├── coffee-ratings.png
│ │ └── doctor-who-tanya-shapiro.png
│ ├── table-format-long-tidy-wide.png
│ └── table-format-long-wide.png
├── improve-your-ggplot-design.html
├── improve-your-ggplot-workflow.html
├── index.html
├── introduction.html
├── layers.html
├── libs
│ ├── anchor-sections-1.0.1
│ │ ├── anchor-sections.css
│ │ └── anchor-sections.js
│ ├── anchor-sections-1.1.0
│ │ ├── anchor-sections-hash.css
│ │ ├── anchor-sections.css
│ │ └── anchor-sections.js
│ ├── anchor-sections
│ │ ├── anchor-sections-hash.css
│ │ ├── anchor-sections.css
│ │ └── anchor-sections.js
│ ├── gitbook-2.6.7
│ │ ├── css
│ │ │ ├── fontawesome
│ │ │ │ └── fontawesome-webfont.ttf
│ │ │ ├── plugin-bookdown.css
│ │ │ ├── plugin-clipboard.css
│ │ │ ├── plugin-fontsettings.css
│ │ │ ├── plugin-highlight.css
│ │ │ ├── plugin-search.css
│ │ │ ├── plugin-table.css
│ │ │ └── style.css
│ │ └── js
│ │ │ ├── app.min.js
│ │ │ ├── clipboard.min.js
│ │ │ ├── jquery.highlight.js
│ │ │ ├── plugin-bookdown.js
│ │ │ ├── plugin-clipboard.js
│ │ │ ├── plugin-fontsettings.js
│ │ │ ├── plugin-search.js
│ │ │ └── plugin-sharing.js
│ ├── gitbook
│ │ ├── css
│ │ │ ├── fontawesome
│ │ │ │ └── fontawesome-webfont.ttf
│ │ │ ├── plugin-bookdown.css
│ │ │ ├── plugin-clipboard.css
│ │ │ ├── plugin-fontsettings.css
│ │ │ ├── plugin-highlight.css
│ │ │ ├── plugin-search.css
│ │ │ ├── plugin-table.css
│ │ │ └── style.css
│ │ └── js
│ │ │ ├── app.min.js
│ │ │ ├── clipboard.min.js
│ │ │ ├── jquery.highlight.js
│ │ │ ├── lunr.js
│ │ │ ├── plugin-bookdown.js
│ │ │ ├── plugin-clipboard.js
│ │ │ ├── plugin-fontsettings.js
│ │ │ ├── plugin-search.js
│ │ │ └── plugin-sharing.js
│ ├── header-attrs-2.11
│ │ └── header-attrs.js
│ ├── header-attrs
│ │ └── header-attrs.js
│ ├── jquery-3.6.0
│ │ └── jquery-3.6.0.min.js
│ ├── jquery
│ │ ├── jquery-3.6.0.min.js
│ │ └── jquery.min.js
│ ├── kePrint-0.0.1
│ │ └── kePrint.js
│ ├── kePrint
│ │ └── kePrint.js
│ ├── lightable-0.0.1
│ │ └── lightable.css
│ └── lightable
│ │ └── lightable.css
├── more-to-say.html
├── overview.html
├── polish.html
├── quick-tips-to-improve-yor-workflow-and-design.html
├── reference-keys.txt
├── references.html
├── search_index.json
├── setup.html
├── styling-titles-and-labels.html
├── text.html
├── the-concepts-of-ggplot2.html
├── the-grammar-of-graphics.html
├── the-layered-grammar-of-graphics.html
├── themes.html
├── tipps-to-improve-your-ggplot-design.html
├── tips-to-improve-your-ggplot-design.html
├── tips-to-improve-your-ggplot-workflow.html
├── tips-to-improve-your-workflow-and-design.html
├── walkthrough.html
├── working-with-axes.html
├── working-with-colors.html
├── working-with-geometries.html
├── working-with-layers.html
├── working-with-statistical-transformations-1.html
├── working-with-statistical-transformations.html
├── working-with-text.html
└── working-with-themes.html
├── img
├── .DS_Store
├── bird-collisions-jake-kaupp.png
├── setup-data-comparison-all-dodge.pdf
├── setup-data-comparison-all-dodge.png
├── setup-data-comparison-all-stack.pdf
├── setup-data-comparison-all-stack.png
├── setup-data-comparison-raw-aggregated.pdf
├── setup-data-comparison-raw-aggregated.png
├── showcase
│ ├── airports-movement-lee-olney.png
│ ├── artists-usa-lee-olney.png
│ ├── bes-cheetah-map-rcarto.png
│ ├── carbon-foodprint.png
│ ├── cartogram-mortality.png
│ ├── coffee-ratings-cedric-scherer.png
│ ├── cran-packages-torsten-sprenger.png
│ ├── deforestation-georgios-karamanis.png
│ ├── distance-roads-germany.png
│ ├── doctor-who-tanya-shapiro.png
│ ├── european-energy.png
│ ├── netflix-originals-tanya-shapiro.jpeg
│ ├── palmer-penguins.png
│ ├── slavery-juneteenth.png
│ ├── speech-speed.png
│ ├── spotify-genres-torsten-sprenger.jpeg
│ ├── tour-de-france-georgios-karamanis.png
│ └── xmen-comics.png
└── table-format-long-tidy-wide.png
├── index.Rmd
├── krantz.cls
├── latex
├── after_body.tex
├── before_body.tex
└── preamble.tex
├── packages.bib
└── src
├── prerequisites.R
└── theme.R
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .Rproj.user
2 | .Rhistory
3 | .RData
4 | .Ruserdata
5 | **/.DS_Store
6 | **/._.DS_Store*_cache
7 | *_cache
8 |
--------------------------------------------------------------------------------
/00-author.Rmd:
--------------------------------------------------------------------------------
1 | # About the Author {-}
2 |
3 | [Dr Cédric Scherer](https://cedricscherer.com) is a data visualization designer, consultant, and instructor helping clients and workshop participants to create engaging and effective graphics. As a graduated ecologist, he has acquired an extensive hypothesis–driven research experience and problem–solving expertise in data wrangling, statistical analysis, and model development. As an independent data visualization designer, Cédric later combined his expertise in analyzing large data sets with his passion for design, colors and typefaces.
4 |
5 | Cédric has designed graphics across all disciplines, purposes, and styles applying a code–first approach and regularly talks about data visualization design and ggplot2 techniques. Due to participation in social data challenges such as #TidyTuesday, he is now well known for complex and visually appealing figures, entirely made with **ggplot2**, that look as if they have been created with a vector design tool. He also uses R and the **tidyverse** packages to automate data analyses and plot generation, following the code-first philosophy of a reproducible workflow.
6 |
--------------------------------------------------------------------------------
/05-tips-design.Rmd:
--------------------------------------------------------------------------------
1 | ```{r 05setupSectionTipsDesign, echo=FALSE, include=FALSE}
2 | source(here::here("src", "prerequisites.R"))
3 | theme_set(theme_grey())
4 | ```
5 |
6 | # Tips to Improve Your ggplot Design
7 |
8 | In the following I want to share some tips how you quickly customize the appearance of your graphics with a few additional lines of code. First, let's create a plot to work with: we will display the counts of reported bike rents during the night only as a time series. To focus on the tips, we assign the ggplot output to `g` and extend this object in the following.
9 |
10 | ```{r 05basicPlot, fig.cap="A time series of reported bike rents during the night (6 pm to 6 am) with points being encoded by the average temperature using the default **ggplot2** theme."}
11 | library(ggplot2)
12 | library(dplyr)
13 |
14 | bikes_nightly <- filter(bikes, day_night == "night")
15 |
16 | g <-
17 | ggplot(bikes_nightly, aes(x = date, y = count)) +
18 | geom_point(aes(color = temp), alpha = .5) +
19 | ## style y axis, labels and colors
20 | scale_y_continuous(limits = c(0, NA), labels = scales::label_comma()) +
21 | scale_color_gradient(
22 | low = "#00B3FF", high = "#FF5477",
23 | labels = scales::label_number(suffix = "°C")
24 | ) +
25 | labs(
26 | x = NULL, y = "Number of bike rents per night", color = "Average Temperature:",
27 | title = "TfL bike rents peak during warm summer nights",
28 | subtitle = "A time series of reported bike rents between 6 pm and 6 am in London",
29 | caption = "Data: TfL (Transport for London), Jan 2015–Dec 2016"
30 | )
31 |
32 | g
33 | ```
34 |
35 | ## Use a Different Theme
36 |
37 | The simplest step to give your plot a different appearance is using one of the complete themes provided by **ggplot2**. We already have seen `theme_light()` in the previous section. A full list of themes:
38 |
39 | * `theme_gray()`, the default theme with a grey panel, white grid lines, and grey boxes for facets
40 | * `theme_minimal()` without a panel border and facet boxes
41 | ≈* `theme_bw()` with a white panel, grey grid lines, a black panel border, and grey boxes for facets
42 | * `theme_linedraw()`, similar to `theme_bw()` but featuring black axis text and facet boxes
43 | * `theme_light()`, similar to `theme_bw()` but with a grey panel border and all-grey facet boxes
44 | * `theme_minimal()` without a panel border and facet boxes
45 | * `theme_classic()` with axis lines but no grid lines and white facet boxes with a black outline
46 | * `theme_dark()` with a dark-grey panel and even darker facet boxes
47 | * `theme_void()`, a completely empty theme
48 |
49 | The completely empty theme `theme_void()` is often helpful when working with maps. Also, you can use it to build your theme element by element like drawing on a blank canvas.
50 |
51 | Let's use the popular `theme_minimal()` for now:
52 |
53 | ```{r 05themeMinimal, fig.cap="The same plot as before using the minimal theme."}
54 | g + theme_minimal()
55 | ```
56 |
57 | ## Use a Custom Font
58 |
59 | There are multiple extension packages that aim to provide access to font files, **extrafont**, **sysfont**, **showtext**, and **systemfonts** to name a few. To my knowledge, the **systemfonts** package provides the best solution to work with typefaces and resolve font specifications. After loading the package, all locally installed font files are available in your current R session.
60 |
61 | The default font family of ggplot themes is the default sans serif font and thus it is specific to the system you and potential collaborators are working on. You can overwrite the default by passing a font family as argument to `base_family` inside the `theme_*()` call.
62 |
63 | ```{r 05themeBaseFamily, fig.cap="All text labels now use a custom font by changing the `base_family` of the theme."}
64 | g + theme_minimal(base_family = "Asap Condensed")
65 | ```
66 |
67 | If you are searching for a specific font, this is my script to return family names that can be used as inputs for text elements in **ggplot2**:
68 |
69 | ```{r 05searchFont}
70 | systemfonts::system_fonts() |>
71 | ## filter for a pattern
72 | dplyr::filter(stringr::str_detect(name, "Asap")) |>
73 | ## only keep family column
74 | dplyr::pull(family) |>
75 | ## only keep distinct families and sort them by name
76 | unique() |>
77 | sort()
78 | ```
79 |
80 |
81 | ## Increase the Font Sizes
82 |
83 | The base size in any ggplot theme is set to 11. This number determines the individual text sizes and line widths of your theme elements. Depending on the width and height specified when saving your plot, you may want to adjust the overall size by changing the `base_size` in the `theme_*()` call.
84 |
85 | ```{r 05themeBaseSize, fig.cap="If the text elements are too small for the desired out width and height, you can adjust them by overwriting the default `base_size`."}
86 | (g <- g + theme_minimal(base_family = "Asap Condensed", base_size = 14))
87 | ```
88 |
89 |
90 | ## Create Text Hierarchy
91 |
92 | By default, the title is always set in regular weight. In many cases I find myself using a font that is bold and larger than by default. You can update details of the theme by directly addressing the respective theme element, here `plot.title`. As the title is a text element, we pass the new settings inside the element_text() function. The `face` argument controls the font style and can take `"regular"`, `"bold"`, `"italic"`, and `"bold.italic"` as inputs. The size can either be set in absolute numbers or relative to the `base_size` via the `rel()` function.
93 |
94 | ```{r 05textHierarchy, fig.cap="One can style single theme elements with the `theme()` function. Here, we create a more pronounced tet hierarchy by setting the title in a bigger, bold typeface."}
95 | (g <- g + theme(plot.title = element_text(face = "bold", size = rel(1.4))))
96 | ```
97 |
98 | ## Modify the Legend
99 |
100 | [WIP]
101 |
102 | ```{r 05guideColorsteps}
103 | g + guides(color = guide_colorsteps())
104 | ```
105 |
106 | ```{r 05guideKeyHeight}
107 | g + guides(color = guide_colorsteps(
108 | barheight = unit(15, "lines")
109 | ))
110 | ```
111 |
112 | ```{r 05guidePositionTop, fig.height=6.5}
113 | g + guides(color = guide_colorsteps(
114 | barwidth = unit(25, "lines"), title.position = "top"
115 | )) +
116 | theme(legend.position = "top", legend.justification = "left")
117 | ```
118 |
119 | ## Align Titles and Captions
120 |
121 | By default, the titles and captions are left-aligned with the horizontal justification being set to `hjust = 0`. However, the horizontal justification does only impact the alignment of the title relative to the panel. If you want to place these text elements relative to the outer border of your graphic. you can set `plot.title.position` `plot.caption.position` to `"plot"`, respectively
122 |
123 | ```{r 05titleAlign, fig.cap='The title and sutitle can be aligned with the plot border by setting `plot.title.position` to `"plot"`. Similarly, the position of the caption can be changed by using `plot.caption.position`.'}
124 | g + theme(plot.title.position = "plot",
125 | plot.caption.position = "plot")
126 | ```
127 |
128 | The importance of aligning the title either with the panel border (the default behavior) or with the plot border becomes especially important if you have long labels on the left of the plot. This is often the case when displaying categories along the y axis with a left-aligned title (Fig. \@ref(fig:05barsTitlePosition). The same applies for right-aligned text in case of increased margins on the right of the panel, for example when using facets or adding legends.
129 |
130 | ```{r 05barsTitlePosition, echo=FALSE, fig.cap="Plots with long labels on the y axis with the title being either aligned with the panel border (default behavior, left) or with the plot border (right)."}
131 | p <-
132 | ggplot(bikes, aes(x = count, y = forcats::fct_rev(season))) +
133 | geom_col(color = "grey45", fill = "grey45", width = .7) +
134 | scale_x_continuous(expand = c(0, 0), labels = scales::label_comma(), position = "top") +
135 | scale_y_discrete(labels = c("Autumn (Sep-Nov)", "Summer (Jun-Aug)", "Spring (Mar-May)", "Winter (Dec-Feb)")) +
136 | labs(x = NULL, y = NULL, title = "Reported TfL bike rents in 2015/16 per season") +
137 | theme_minimal(base_family = "Asap Condensed") +
138 | theme(panel.grid.minor = element_blank(), panel.grid.major.y = element_blank(),
139 | plot.margin = margin(rep(15, 4)), plot.background = element_rect(fill = NA, color = "grey85"))
140 |
141 | p1 <- p + theme(plot.title.position = "panel")
142 | p2 <- p + theme(plot.title.position = "plot")
143 |
144 | p1 + plot_spacer() + p2 + plot_layout(widths = c(1, .1, 1))
145 | ```
146 |
147 | ## Add Some White Space
148 |
149 | [WIP]
150 |
151 | ```{r 05plotMargin, fig.cap=""}
152 | g + theme(plot.margin = margin(rep(20, 4)))
153 | ```
154 |
155 | ```{r 05textMargins, fig.cap=""}
156 | g + theme(
157 | plot.title = element_text(margin = margin(b = 10)),
158 | plot.subtitle = element_text(margin = margin(b = 15)),
159 | plot.caption = element_text(margin = margin(t = 20)),
160 | axis.title.y = element_text(margin = margin(r = 10)),
161 | legend.title = element_text(margin = margin(b = 10)),
162 | )
163 | ```
164 |
165 |
--------------------------------------------------------------------------------
/08-working-with-colors.Rmd:
--------------------------------------------------------------------------------
1 | ```{r 08setupSectionColors, echo=FALSE, include=FALSE}
2 | source(here::here("src", "prerequisites.R"))
3 | ```
4 |
5 | # Working with Colors {#working-with-colors}
6 |
7 | [WIP]
8 |
9 | ```{r, include=FALSE}
10 | # ggplot(coins, aes(x = date, xend = date,
11 | # y = open, yend = close)) +
12 | # geom_segment(
13 | # ## encode segments by trend
14 | # aes(color = close > open),
15 | # ## draw arrow heads to indicate direction of change
16 | # arrow = arrow(type = "closed",length = unit(.3, "lines"))
17 | # )
18 | ```
19 |
20 | ```{r, echo=FALSE, purl=FALSE, fig.height=4.7, fig.cap='jitter with mean'}
21 | # ggplot(bikes, aes(x = season, y = count, color = day_night)) +
22 | # geom_point(position = position_jitter(seed = 2, width = .25), alpha = .3, shape = 16, size = 2) +
23 | # geom_point(stat = "summary", shape = 21, aes(fill = day_night), color = "black", stroke = .6, size = 4) +
24 | # scale_color_manual(values = col_period, name = NULL) +
25 | # scale_fill_manual(values = col_period, name = NULL) +
26 | # theme(panel.grid.major.x = element_blank())
27 | ```
28 |
29 |
--------------------------------------------------------------------------------
/09-working-with-text.Rmd:
--------------------------------------------------------------------------------
1 | ```{r 09setupSectionText, echo=FALSE, include=FALSE}
2 | source(here::here("src", "prerequisites.R"))
3 | ```
4 |
5 | # Working with Text {#working-with-text}
6 |
7 | [WIP]
8 |
--------------------------------------------------------------------------------
/10-working-with-themes.Rmd:
--------------------------------------------------------------------------------
1 | ```{r 10setupSectionTheme, echo=FALSE, include=FALSE}
2 | source(here::here("src", "prerequisites.R"))
3 | ```
4 |
5 | # Working with Themes {#working-with-themes}
6 |
7 | [WIP]
8 |
9 | ## Create Your Own Theme
10 |
11 | ```{r 06customTheme}
12 | theme_custom <- function(base_size = 14, base_family = "Asap SemiCondensed",
13 | base_line_size = base_size/25, base_rect_size = base_size/25,
14 | color_plot = "grey96", color_panel = "white") {
15 | theme_minimal(
16 | base_size = base_size, base_family = base_family,
17 | base_line_size = base_line_size, base_rect_size = base_rect_size
18 | ) %+replace%
19 | theme(
20 | panel.grid.minor = element_blank(),
21 | panel.grid.major = element_line(color = color_plot),
22 | panel.background = element_rect(fill = color_panel, color = NA),
23 | plot.background = element_rect(fill = color_plot, color = NA),
24 | plot.title = element_text(size = rel(1.2), face = "bold", hjust = 0,
25 | margin = margin(b = rel(15))),
26 | plot.subtitle = element_text(size = rel(1), hjust = 0),
27 | plot.caption = element_text(color = "grey30", size = rel(.7), hjust = 0,
28 | margin = margin(t = rel(20))),
29 | plot.title.position = "plot",
30 | plot.caption.position = "plot",
31 | axis.text = element_text(color = "grey40", size = rel(.8)),
32 | complete = FALSE
33 | )
34 | }
35 | ```
36 |
37 | ```{r 06customThemeApplied, fig.cap="Applying our custom theme to the ggplot object from before."}
38 | g + theme_custom()
39 | ```
40 |
41 | ```{r 06customThemeModified, fig.cap="You can still overwrite the main settings and adjust single elements when using the custom theme."}
42 | g +
43 | theme_custom(
44 | base_size = 16, base_family = "Spline Sans",
45 | color_plot = "white", color_panel = "antiquewhite"
46 | ) +
47 | theme(plot.title = element_text(color = "goldenrod"))
48 | ```
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/70-advanced-examples.Rmd:
--------------------------------------------------------------------------------
1 | # (PART) Advanced Walk-Through Examples {-}
2 |
3 | # Overview {#advanced-examples}
4 |
--------------------------------------------------------------------------------
/90-more.Rmd:
--------------------------------------------------------------------------------
1 | \cleardoublepage
2 |
3 | # (APPENDIX) Appendix {-}
4 |
5 | # More to Say
6 |
7 | Yeah! I have finished my book, but I have more to say about some topics. Let me explain them in this appendix.
8 |
9 | To know more about **bookdown**, see https://bookdown.org.
10 |
--------------------------------------------------------------------------------
/99-references.Rmd:
--------------------------------------------------------------------------------
1 | `r if (knitr:::is_html_output()) '# References {-}'`
2 |
3 | ```{r include=FALSE}
4 | # generate a BibTeX database automatically for some R packages
5 | knitr::write_bib(c(
6 | .packages(), 'bookdown', 'knitr', 'rmarkdown'
7 | ), 'packages.bib')
8 | ```
9 |
10 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Yihui Xie
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Graphic Design with ggplot2
2 |
3 | This is the work–in–progress code and text behind the book "Graphic Design with **ggplot2**" that is going to be published by Chapman & Hall.
4 |
--------------------------------------------------------------------------------
/_bookdown.yml:
--------------------------------------------------------------------------------
1 | book_filename: bookdown
2 | clean: [packages.bib, bookdown.bbl]
3 | output_dir: "docs"
4 | delete_merged_file: true
5 | language:
6 | label:
7 | fig: "FIGURE "
8 | tab: "TABLE "
9 | ui:
10 | edit: "Edit"
11 | chapter_name: "Chapter "
12 |
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/02ggplotAestheticsData-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/02ggplotAestheticsData-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/02ggplotLayersCombinedPenguins-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/02ggplotLayersCombinedPenguins-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/02ggplotLayersGeomsStats-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/02ggplotLayersGeomsStats-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/02ggplotUniqueBabynamesBasic-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/02ggplotUniqueBabynamesBasic-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/02ggplotUniqueBabynamesExplorative-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/02ggplotUniqueBabynamesExplorative-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/02ggplotUniqueBabynamesStorytelling-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/02ggplotUniqueBabynamesStorytelling-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotBasic-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotBasic-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotBasicAdjustLayers-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotBasicAdjustLayers-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotBasicColor-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotBasicColor-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotBasicSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotBasicSmooth-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotColors-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotColors-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotFacet-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotFacet-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotFacetGrid-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotFacetGrid-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotLabels-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotLabels-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotLabelsAxes-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotLabelsAxes-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotLocalAesthetics-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotLocalAesthetics-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotThemeAdjustments-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotThemeAdjustments-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04ggplotThemeComplete-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04ggplotThemeComplete-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/04legendLabels-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/04legendLabels-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05barsTitlePosition-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05barsTitlePosition-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05basicPlot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05basicPlot-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05guideColorsteps-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05guideColorsteps-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05guideKeyHeight-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05guideKeyHeight-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05guidePositionTop-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05guidePositionTop-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05plotMargin-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05plotMargin-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05textHierarchy-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05textHierarchy-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05textMargins-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05textMargins-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05themeBaseFamily-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05themeBaseFamily-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05themeBaseSize-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05themeBaseSize-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05themeMinimal-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05themeMinimal-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/05titleAlign-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/05titleAlign-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/06customThemeApplied-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/06customThemeApplied-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/06customThemeModified-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/06customThemeModified-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/06examplePlotThemeSet-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/06examplePlotThemeSet-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/06examplePlotThemeUpdate-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/06examplePlotThemeUpdate-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/06workflowBatchDataVar-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/06workflowBatchDataVar-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/06workflowBatchSubsets-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/06workflowBatchSubsets-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPositionalInputsLinerange-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPositionalInputsLinerange-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPositionalInputsSegment-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPositionalInputsSegment-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPositionalTypeBoxplotCut2-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPositionalTypeBoxplotCut2-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPositionalTypeHistogram-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPositionalTypeHistogram-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedCustomBars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedCustomBars-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedCustomBarsDodgeVars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedCustomBarsDodgeVars-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedCustomPointsCount-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedCustomPointsCount-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedCustomSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedCustomSmooth-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedDefaultBars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedDefaultBars-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedDefaultSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedDefaultSmooth-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedDefaultVariants-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerPredefinedDefaultVariants-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerScatter-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerScatter-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/07layerTypeBoxplot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/07layerTypeBoxplot-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-16-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-16-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-23-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-23-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-26-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-26-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-28-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-28-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-31-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-epub3/unnamed-chunk-31-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/02ggplotAestheticsData-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/02ggplotAestheticsData-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/02ggplotLayersCombinedPenguins-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/02ggplotLayersCombinedPenguins-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/02ggplotLayersGeomsStats-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/02ggplotLayersGeomsStats-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/02ggplotUniqueBabynamesBasic-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/02ggplotUniqueBabynamesBasic-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/02ggplotUniqueBabynamesExplorative-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/02ggplotUniqueBabynamesExplorative-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/02ggplotUniqueBabynamesStorytelling-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/02ggplotUniqueBabynamesStorytelling-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotBasic-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotBasic-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotBasicAdjustLayers-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotBasicAdjustLayers-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotBasicColor-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotBasicColor-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotBasicSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotBasicSmooth-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotColors-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotColors-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotFacet-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotFacet-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotFacetGrid-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotFacetGrid-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotLabels-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotLabels-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotLabelsAxes-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotLabelsAxes-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotLocalAesthetics-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotLocalAesthetics-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotThemeAdjustments-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotThemeAdjustments-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04ggplotThemeComplete-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04ggplotThemeComplete-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/04legendLabels-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/04legendLabels-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05barsTitlePosition-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05barsTitlePosition-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05basicPlot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05basicPlot-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05guideColorsteps-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05guideColorsteps-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05guideKeyHeight-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05guideKeyHeight-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05guidePositionTop-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05guidePositionTop-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05plotMargin-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05plotMargin-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05textHierarchy-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05textHierarchy-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05textMargins-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05textMargins-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05themeBaseFamily-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05themeBaseFamily-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05themeBaseSize-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05themeBaseSize-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05themeMinimal-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05themeMinimal-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/05titleAlign-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/05titleAlign-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/06customThemeApplied-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/06customThemeApplied-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/06customThemeModified-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/06customThemeModified-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/06examplePlotThemeSet-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/06examplePlotThemeSet-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/06examplePlotThemeUpdate-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/06examplePlotThemeUpdate-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/06workflowBatchDataVar-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/06workflowBatchDataVar-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/06workflowBatchSubsets-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/06workflowBatchSubsets-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPositionalInputsLinerange-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPositionalInputsLinerange-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPositionalInputsSegment-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPositionalInputsSegment-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPositionalTypeBoxplotCut2-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPositionalTypeBoxplotCut2-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPositionalTypeHistogram-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPositionalTypeHistogram-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPredefinedCustomBars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPredefinedCustomBars-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPredefinedCustomBarsDodgeVars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPredefinedCustomBarsDodgeVars-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPredefinedCustomPointsCount-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPredefinedCustomPointsCount-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPredefinedCustomSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPredefinedCustomSmooth-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPredefinedDefaultBars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPredefinedDefaultBars-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPredefinedDefaultSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPredefinedDefaultSmooth-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerPredefinedDefaultVariants-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerPredefinedDefaultVariants-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerScatter-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerScatter-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/07layerTypeBoxplot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/07layerTypeBoxplot-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-16-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-16-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-23-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-23-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-26-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-26-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-28-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-28-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-31-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-31-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/02ggplotAestheticsData-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/02ggplotAestheticsData-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/02ggplotLayersCombinedPenguins-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/02ggplotLayersCombinedPenguins-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/02ggplotLayersGeomsStats-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/02ggplotLayersGeomsStats-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/02ggplotUniqueBabynamesBasic-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/02ggplotUniqueBabynamesBasic-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/02ggplotUniqueBabynamesExplorative-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/02ggplotUniqueBabynamesExplorative-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/02ggplotUniqueBabynamesStorytelling-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/02ggplotUniqueBabynamesStorytelling-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotBasic-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotBasic-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotBasicAdjustLayers-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotBasicAdjustLayers-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotBasicColor-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotBasicColor-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotBasicSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotBasicSmooth-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotColors-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotColors-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotFacet-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotFacet-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotFacetGrid-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotFacetGrid-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotLabels-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotLabels-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotLabelsAxes-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotLabelsAxes-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotLocalAesthetics-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotLocalAesthetics-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotThemeAdjustments-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotThemeAdjustments-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04ggplotThemeComplete-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04ggplotThemeComplete-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/04legendLabels-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/04legendLabels-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05barsTitlePosition-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05barsTitlePosition-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05basicPlot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05basicPlot-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05guideColorsteps-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05guideColorsteps-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05guideKeyHeight-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05guideKeyHeight-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05guidePositionTop-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05guidePositionTop-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05plotMargin-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05plotMargin-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05textHierarchy-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05textHierarchy-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05textMargins-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05textMargins-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05themeBaseFamily-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05themeBaseFamily-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05themeBaseSize-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05themeBaseSize-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05themeMinimal-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05themeMinimal-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/05titleAlign-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/05titleAlign-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/06customThemeApplied-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/06customThemeApplied-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/06customThemeModified-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/06customThemeModified-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/06examplePlotThemeSet-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/06examplePlotThemeSet-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/06examplePlotThemeUpdate-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/06examplePlotThemeUpdate-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/06workflowBatchDataVar-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/06workflowBatchDataVar-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/06workflowBatchSubsets-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/06workflowBatchSubsets-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPositionalInputsLinerange-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPositionalInputsLinerange-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPositionalInputsSegment-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPositionalInputsSegment-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPositionalTypeBoxplotCut2-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPositionalTypeBoxplotCut2-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPositionalTypeHistogram-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPositionalTypeHistogram-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedCustomBars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedCustomBars-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedCustomBarsDodgeVars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedCustomBarsDodgeVars-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedCustomPointsCount-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedCustomPointsCount-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedCustomSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedCustomSmooth-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedDefaultBars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedDefaultBars-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedDefaultSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedDefaultSmooth-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedDefaultVariants-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerPredefinedDefaultVariants-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerScatter-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerScatter-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/07layerTypeBoxplot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/07layerTypeBoxplot-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-16-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-16-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-23-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-23-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-26-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-26-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-28-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-28-1.png
--------------------------------------------------------------------------------
/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-31-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-31-1.png
--------------------------------------------------------------------------------
/_graphic-design-ggplot2.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: Default
4 | SaveWorkspace: Default
5 | AlwaysSaveHistory: Default
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: Yes
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: knitr
13 | LaTeX: pdfLaTeX
14 |
15 | AutoAppendNewline: Yes
16 | StripTrailingWhitespace: Yes
17 |
18 | BuildType: Website
19 |
--------------------------------------------------------------------------------
/_output.yml:
--------------------------------------------------------------------------------
1 | bookdown::gitbook:
2 | css: css/style.css
3 | config:
4 | toc:
5 | collapse: section
6 | before: |
7 |
“Graphic Design with ggplot2”
written by Cédric Scherer
8 | after: |
9 |
Published with bookdown
10 | download: [pdf, epub]
11 | edit: https://github.com/yihui/bookdown-crc/edit/master/%s
12 | sharing:
13 | github: true
14 | facebook: false
15 | bookdown::pdf_book:
16 | includes:
17 | in_header: latex/preamble.tex
18 | before_body: latex/before_body.tex
19 | after_body: latex/after_body.tex
20 | keep_tex: true
21 | dev: "cairo_pdf"
22 | latex_engine: xelatex
23 | citation_package: natbib
24 | template: null
25 | pandoc_args: --top-level-division=chapter
26 | toc_depth: 3
27 | toc_unnumbered: false
28 | toc_appendix: true
29 | quote_footer: ["\\VA{", "}{}"]
30 | highlight_bw: true
31 | bookdown::epub_book:
32 | stylesheet: css/style.css
33 |
--------------------------------------------------------------------------------
/book.bib:
--------------------------------------------------------------------------------
1 | @Book{ggplot2,
2 | author = {Hadley Wickham},
3 | title = {ggplot2: Elegant Graphics for Data Analysis},
4 | publisher = {Springer-Verlag New York},
5 | year = {2016},
6 | isbn = {978-3-319-24277-4},
7 | url = {https://ggplot2.tidyverse.org},
8 | }
9 | @Book{koponen&hilden2019,
10 | title = {Data visualization handbook},
11 | author = {Juuso Koponen and Jonatan Hild{\'e}n},
12 | publisher = {Aalto ARTS Books},
13 | address = {Espoo, Finland},
14 | year = {2019},
15 | edition = {1st},
16 | note = {ISBN 978-952-60-7449-8}
17 | }
18 | @Book{wilkinson2005,
19 | title = {The Grammar of Graphics},
20 | author = {Leland Wilkinson},
21 | publisher = {Springer Science+Business Media},
22 | address = {Berlin/Heidelberg, Germany},
23 | year = {2005},
24 | edition = {2nd},
25 | url = {https://link.springer.com/10.1007/978-3-642-21551-3_13},
26 | note = {ISBN 978-0-387-28695-2}
27 | }
28 | @Book{xie2015,
29 | title = {Dynamic documents with {R} and knitr},
30 | author = {Yihui Xie},
31 | publisher = {Chapman and Hall/CRC},
32 | address = {Boca Raton, Florida, United States},
33 | year = {2015},
34 | edition = {2nd},
35 | note = {ISBN 978-1498716963},
36 | url = {http://yihui.name/knitr/}
37 | }
38 | @book{bertin1983,
39 | title = {Semiology of Graphics},
40 | author = {Jacques Bertin},
41 | publisher = {University of Wisconsin Press},
42 | address = {Madison, Wisconsin, United States},
43 | year = {1983}
44 | }
45 | @article{sciaini2018,
46 | title = {NLMR and landscapetools: An integrated environment for simulating and modifying neutral landscape models in R},
47 | author = {Marco Sciaini and Matthias Fritsch and C{\'e}dric Scherer and Craig Eric Simpkins},
48 | journal = {Methods in Ecology and Evolution},
49 | volume = {9},
50 | number = {11},
51 | pages = {2240--2248},
52 | year = {2018},
53 | publisher = {Wiley Online Library},
54 | doi = {10.1111/2041-210X.13076}
55 | }
56 | @Article{tidyverse,
57 | title = {Welcome to the {tidyverse}},
58 | author = {Hadley Wickham and Mara Averick and Jennifer Bryan and Winston Chang and Lucy D'Agostino McGowan and Romain François and Garrett Grolemund and Alex Hayes and Lionel Henry and Jim Hester and Max Kuhn and Thomas Lin Pedersen and Evan Miller and Stephan Milton Bache and Kirill Müller and Jeroen Ooms and David Robinson and Dana Paige Seidel and Vitalie Spinu and Kohske Takahashi and Davis Vaughan and Claus Wilke and Kara Woo and Hiroaki Yutani},
59 | year = {2019},
60 | journal = {Journal of Open Source Software},
61 | volume = {4},
62 | number = {43},
63 | pages = {1686},
64 | doi = {10.21105/joss.01686},
65 | }
66 | @Article{wickham2006,
67 | title = {An introduction to ggplot: An implementation of the grammar of graphics in R},
68 | author = {Hadley Wickham},
69 | year = {2006},
70 | journal = {JStatistics},
71 | pages = {1-8}
72 | }
73 | @incollection{kosara2007,
74 | author = {Robert Kosara},
75 | booktitle = {2007 11th International Conference Information Visualization (IV '07)},
76 | title = {Visualization criticism - The missing link between information visualization and art},
77 | year = {2007},
78 | pages = {631--636},
79 | doi = {10.1109/IV.2007.130}
80 | }
81 | @Manual{camcorder,
82 | title = {camcorder: Record Your Plot History},
83 | author = {Ellis Hughes},
84 | year = {2022},
85 | note = {R package version 0.1.0},
86 | url = {https://CRAN.R-project.org/package=camcorder}
87 | }
88 | @Manual{dplyr,
89 | title = {dplyr: A Grammar of Data Manipulation},
90 | author = {Hadley Wickham and Romain François and Lionel Henry and Kirill Müller},
91 | year = {2022},
92 | note = {R package version 1.0.10},
93 | url = {https://CRAN.R-project.org/package=dplyr}
94 | }
95 | @Manual{forcats,
96 | title = {forcats: Tools for Working with Categorical Variables (Factors)},
97 | author = {Hadley Wickham},
98 | year = {2022},
99 | note = {R package version 0.5.2},
100 | url = {https://CRAN.R-project.org/package=forcats}
101 | }
102 | @Manual{readr,
103 | title = {readr: Read Rectangular Text Data},
104 | author = {Hadley Wickham and Jim Hester and Jennifer Bryan},
105 | year = {2022},
106 | note = {R package version 2.1.3},
107 | url = {https://CRAN.R-project.org/package=readr}
108 | }
109 | @Manual{tidyr,
110 | title = {tidyr: Tidy Messy Data},
111 | author = {Hadley Wickham and Maximilian Girlich},
112 | year = {2022},
113 | note = {R package version 1.2.1},
114 | url = {https://CRAN.R-project.org/package=tidyr}
115 | }
116 | @incollection{cairo2021,
117 | title = {Orthodoxy and eccentricity},
118 | author = {Alberto Cairo},
119 | booktitle = {Data Sketches by Nadieh Bremer and Shirley Wu},
120 | year = {2021},
121 | publisher = {Chapman and Hall/CRC},
122 | address = {Boca Raton, Florida, United States},
123 | pages = {12--13},
124 | note = {ISBN 978-036-70-0012-7}
125 | }
126 |
--------------------------------------------------------------------------------
/bookdown.idx:
--------------------------------------------------------------------------------
1 | \indexentry{knitr|hyperpage}{xvi}
2 | \indexentry{bookdown|hyperpage}{xvi}
3 |
--------------------------------------------------------------------------------
/bookdown.lot:
--------------------------------------------------------------------------------
1 | \addvspace {10\p@ }
2 | \addvspace {10\p@ }
3 | \addvspace {10\p@ }
4 | \contentsline {table}{\numberline {3.1}{\ignorespaces Overview of the 15 variables contained in the cleaned and aggregated bike sharing data set.\relax }}{23}{table.3.1}%
5 | \addvspace {10\p@ }
6 | \addvspace {10\p@ }
7 | \addvspace {10\p@ }
8 | \addvspace {10\p@ }
9 | \addvspace {10\p@ }
10 | \addvspace {10\p@ }
11 | \addvspace {10\p@ }
12 | \addvspace {10\p@ }
13 | \addvspace {10\p@ }
14 |
--------------------------------------------------------------------------------
/bookdown.toc:
--------------------------------------------------------------------------------
1 | \contentsline {fm}{List of Figures}{vii}{chapter*.1}%
2 | \contentsline {fm}{List of Tables}{xi}{chapter*.2}%
3 | \contentsline {fm}{Preface}{xiii}{chapter*.3}%
4 | \contentsline {fm}{About the Author}{xix}{chapter*.9}%
5 | \contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}%
6 | \contentsline {section}{\numberline {1.1}Communicating Data}{1}{section.1.1}%
7 | \contentsline {section}{\numberline {1.2}Coding Visualizations}{3}{section.1.2}%
8 | \contentsline {section}{\numberline {1.3}Why R and \textbf {ggplot2}}{3}{section.1.3}%
9 | \contentsline {part}{I\hspace {1em}General Overview}{9}{part.1}%
10 | \contentsline {chapter}{\numberline {2}The Layered Grammar of Graphics}{11}{chapter.2}%
11 | \contentsline {section}{\numberline {2.1}The ggplot2 Package}{11}{section.2.1}%
12 | \contentsline {section}{\numberline {2.2}The Components of a ggplot}{12}{section.2.2}%
13 | \contentsline {section}{\numberline {2.3}Key Components}{13}{section.2.3}%
14 | \contentsline {subsection}{\numberline {2.3.1}Data}{13}{subsection.2.3.1}%
15 | \contentsline {subsection}{\numberline {2.3.2}Aesthetics}{15}{subsection.2.3.2}%
16 | \contentsline {subsection}{\numberline {2.3.3}Layers}{16}{subsection.2.3.3}%
17 | \contentsline {section}{\numberline {2.4}Additional Components}{17}{section.2.4}%
18 | \contentsline {subsection}{\numberline {2.4.1}Scales}{19}{subsection.2.4.1}%
19 | \contentsline {subsection}{\numberline {2.4.2}Coordinate Systems}{19}{subsection.2.4.2}%
20 | \contentsline {subsection}{\numberline {2.4.3}Facets}{19}{subsection.2.4.3}%
21 | \contentsline {subsection}{\numberline {2.4.4}Themes}{19}{subsection.2.4.4}%
22 | \contentsline {chapter}{\numberline {3}Get Started}{21}{chapter.3}%
23 | \contentsline {section}{\numberline {3.1}The Data Set}{21}{section.3.1}%
24 | \contentsline {section}{\numberline {3.2}Working in R}{23}{section.3.2}%
25 | \contentsline {subsection}{\numberline {3.2.1}Import Data}{23}{subsection.3.2.1}%
26 | \contentsline {subsection}{\numberline {3.2.2}Project-Oriented Workflows}{24}{subsection.3.2.2}%
27 | \contentsline {subsection}{\numberline {3.2.3}Inspect the Data}{25}{subsection.3.2.3}%
28 | \contentsline {subsection}{\numberline {3.2.4}Data Types}{25}{subsection.3.2.4}%
29 | \contentsline {subsection}{\numberline {3.2.5}Data Preparation}{28}{subsection.3.2.5}%
30 | \contentsline {subsubsection}{\numberline {3.2.5.1}Data Wrangling with the \textbf {dplyr} Package}{29}{subsubsection.3.2.5.1}%
31 | \contentsline {subsubsection}{\numberline {3.2.5.2}Reshaping Data with the \textbf {tidyr} Package}{31}{subsubsection.3.2.5.2}%
32 | \contentsline {chapter}{\numberline {4}A Walk-Through Example}{35}{chapter.4}%
33 | \contentsline {section}{\numberline {4.1}Prerequisites}{35}{section.4.1}%
34 | \contentsline {section}{\numberline {4.2}Create a Basic ggplot}{35}{section.4.2}%
35 | \contentsline {section}{\numberline {4.3}Combine Multiple Layers}{37}{section.4.3}%
36 | \contentsline {section}{\numberline {4.4}Mapping Aesthetics}{38}{section.4.4}%
37 | \contentsline {section}{\numberline {4.5}Setting Properties}{39}{section.4.5}%
38 | \contentsline {section}{\numberline {4.6}Create Small Multiples}{40}{section.4.6}%
39 | \contentsline {section}{\numberline {4.7}Change the Axis Scaling}{42}{section.4.7}%
40 | \contentsline {section}{\numberline {4.8}Use a Custom Color Palette}{43}{section.4.8}%
41 | \contentsline {section}{\numberline {4.9}Adjust Labels and Titles}{45}{section.4.9}%
42 | \contentsline {section}{\numberline {4.10}Apply a Complete Theme}{46}{section.4.10}%
43 | \contentsline {section}{\numberline {4.11}Customize the Theme}{47}{section.4.11}%
44 | \contentsline {chapter}{\numberline {5}Tips to Improve Your ggplot Design}{51}{chapter.5}%
45 | \contentsline {section}{\numberline {5.1}Use a Different Theme}{51}{section.5.1}%
46 | \contentsline {section}{\numberline {5.2}Use a Custom Font}{52}{section.5.2}%
47 | \contentsline {section}{\numberline {5.3}Increase the Font Sizes}{54}{section.5.3}%
48 | \contentsline {section}{\numberline {5.4}Create Text Hierarchy}{54}{section.5.4}%
49 | \contentsline {section}{\numberline {5.5}Modify the Legend}{55}{section.5.5}%
50 | \contentsline {section}{\numberline {5.6}Align Titles and Captions}{57}{section.5.6}%
51 | \contentsline {section}{\numberline {5.7}Add Some White Space}{57}{section.5.7}%
52 | \contentsline {chapter}{\numberline {6}Tips to Improve Your ggplot Workflow}{61}{chapter.6}%
53 | \contentsline {section}{\numberline {6.1}Save ggplot Output with the ``Correct'' Dimensions}{61}{section.6.1}%
54 | \contentsline {section}{\numberline {6.2}Display ggplot Output with the ``Correct'' Dimensions}{62}{section.6.2}%
55 | \contentsline {section}{\numberline {6.3}Make Fonts Work}{63}{section.6.3}%
56 | \contentsline {section}{\numberline {6.4}Set Your ggplot Theme Globally}{63}{section.6.4}%
57 | \contentsline {section}{\numberline {6.5}Automating Plots: Batch Operations}{65}{section.6.5}%
58 | \contentsline {part}{II\hspace {1em}How To Work with Components}{69}{part.2}%
59 | \contentsline {chapter}{\numberline {7}Working with Layers}{71}{chapter.7}%
60 | \contentsline {section}{\numberline {7.1}Predefined Layers}{72}{section.7.1}%
61 | \contentsline {subsection}{\numberline {7.1.1}Geometrical versus Statistical Layers}{72}{subsection.7.1.1}%
62 | \contentsline {subsection}{\numberline {7.1.2}Layer Variants}{74}{subsection.7.1.2}%
63 | \contentsline {section}{\numberline {7.2}Changing Layer Defaults}{75}{section.7.2}%
64 | \contentsline {subsection}{\numberline {7.2.1}Positional Adjustments}{75}{subsection.7.2.1}%
65 | \contentsline {subsection}{\numberline {7.2.2}Modify Transformations and Geometries}{77}{subsection.7.2.2}%
66 | \contentsline {section}{\numberline {7.3}Positional Aesthetics}{79}{section.7.3}%
67 | \contentsline {subsection}{\numberline {7.3.1}Know Your Data Types}{79}{subsection.7.3.1}%
68 | \contentsline {subsection}{\numberline {7.3.2}Multiple Positional Aesthetics}{80}{subsection.7.3.2}%
69 | \contentsline {section}{\numberline {7.4}Statistical Summaries}{84}{section.7.4}%
70 | \contentsline {chapter}{\numberline {8}Working with Colors}{87}{chapter.8}%
71 | \contentsline {chapter}{\numberline {9}Working with Text}{89}{chapter.9}%
72 | \contentsline {chapter}{\numberline {10}Working with Themes}{91}{chapter.10}%
73 | \contentsline {section}{\numberline {10.1}Create Your Own Theme}{91}{section.10.1}%
74 | \contentsline {part}{III\hspace {1em}Advanced Walk-Through Examples}{93}{part.3}%
75 | \contentsline {chapter}{\numberline {11}Overview}{95}{chapter.11}%
76 | \contentsline {chapter}{Appendix}{97}{chapter.11}%
77 | \contentsline {chapter}{\numberline {A}More to Say}{97}{appendix.A}%
78 | \contentsline {fm}{Bibliography}{99}{appendix*.59}%
79 | \contentsline {chapter}{Index}{101}{appendix*.59}%
80 | \contentsline {section}{}{101}{appendix*.59}%
81 |
--------------------------------------------------------------------------------
/css/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Asap:ital,wght@0,400;0,500;0,600;0,700;0,900;1,400;1,500;1,600;1,700;1,900&family=Literata:ital,opsz,wght@0,7..72,400;0,7..72,500;0,7..72,600;0,7..72,700;0,7..72,900;1,7..72,400;1,7..72,500;1,7..72,600;1,7..72,700;1,7..72,900&family=Spline+Sans+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');
2 |
3 |
4 | .book.font-family-0 {
5 | font-family: "Asap", Tahoma, Arial, sans-serif;
6 | }
7 | .book.font-family-1 {
8 | font-family: "Asap", Tahoma, Arial, sans-serif;
9 | }
10 | .book .book-header h1 {
11 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
12 | font-weight: 720;
13 | font-style: italic;
14 | }
15 |
16 |
17 | p, li {
18 | font-family: "Asap", Tahoma, Arial, sans-serif;
19 | }
20 |
21 | h1, h2, h3, h4, h5 {
22 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
23 | font-weight: 400;
24 | }
25 |
26 | h1, h2 {
27 | font-weight: 650;
28 | }
29 |
30 | h1.title, h1.hasAnchor {
31 | font-weight: 720;
32 | }
33 |
34 | h1.hasAnchor {
35 | font-style: italic;
36 | }
37 |
38 | .book .book-body .page-wrapper .page-inner section.normal h2 {
39 | font-size: 1.5em;
40 | margin-top: .75em;
41 | }
42 |
43 | .book .book-body .page-wrapper .page-inner section.normal code, .book .book-body .page-wrapper .page-inner section.normal pre {
44 | font-family: "Spline Sans Mono", Consolas, Monospace;
45 | }
46 |
47 | p.caption {
48 | color: #5A5A5A;
49 | padding-top: 5px;
50 | padding-bottom: 25px;
51 | }
52 |
53 | p code, pre code {
54 | font-family: "Spline Sans Mono", Consolas, Monospace;
55 | white-space: inherit;
56 | }
57 |
58 | pre {
59 | word-break: normal;
60 | word-wrap: normal;
61 | }
62 |
63 | p.flushright {
64 | text-align: right;
65 | }
66 |
67 | a, .st-hover, .st-current {
68 | color: #28A87D;
69 | }
70 |
71 | blockquote {
72 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
73 | font-style: italic;
74 | }
75 |
76 | blockquote > p:last-child {
77 | text-align: right;
78 | }
79 |
80 | blockquote > p:first-child {
81 | text-align: inherit;
82 | }
83 |
84 | .header-section-number, .subtitle{
85 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
86 | }
87 |
88 | .csl-entry {
89 | font-family: "Asap", Tahoma, Arial, sans-serif;
90 | }
91 |
92 | .title, .subtitle {
93 | line-height: 130%;
94 | }
95 |
96 | caption, .caption {
97 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
98 | font-style: italic;
99 | color: #5A5A5A;
100 | font-size: 85%;
101 | }
102 |
103 | thead, tbody {
104 | font-size: 90%;
105 | }
106 |
107 | .note {
108 | font-family: "Asap", Tahoma, Arial, sans-serif;
109 | color:#28A87D;
110 | font-weight: 400;
111 | font-style: italic;
112 | }
113 |
114 | .comment{
115 | font-family: "Asap", Tahoma, Arial, sans-serif;
116 | color:#E2A121;
117 | font-weight: 700;
118 | font-style: italic;
119 | }
120 |
121 | /* The next two rules make the horizontal line DISAPPEAR in top navbar */
122 | /* https://rstudio4edu.github.io/rstudio4edu-book/book-fancy.html#align-tool */
123 |
124 | .summary > li:first-child {
125 | height: 60px;
126 | padding-top: 10px;
127 | border-bottom: 0px solid rgba(0,0,0,0);
128 | }
129 |
130 | .book .book-summary ul.summary li.divider {
131 | height: 0px;
132 | }
133 |
134 | /* Rounded border */
135 | hr.grey {
136 | border-top: 1px solid rgba(0,0,0,.07);
137 | }
138 |
--------------------------------------------------------------------------------
/data/crypto_cleaned.rds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/data/crypto_cleaned.rds
--------------------------------------------------------------------------------
/docs/bookdown.epub:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown.epub
--------------------------------------------------------------------------------
/docs/bookdown.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown.pdf
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/02ggplotAestheticsData-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/02ggplotAestheticsData-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/02ggplotLayersCombinedPenguins-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/02ggplotLayersCombinedPenguins-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/02ggplotLayersGeomsStats-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/02ggplotLayersGeomsStats-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/02ggplotUniqueBabynamesBasic-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/02ggplotUniqueBabynamesBasic-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/02ggplotUniqueBabynamesExplorative-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/02ggplotUniqueBabynamesExplorative-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/02ggplotUniqueBabynamesStorytelling-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/02ggplotUniqueBabynamesStorytelling-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotBasic-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotBasic-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotBasicAdjustLayers-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotBasicAdjustLayers-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotBasicColor-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotBasicColor-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotBasicSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotBasicSmooth-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotColors-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotColors-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotFacet-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotFacet-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotFacetGrid-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotFacetGrid-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotLabels-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotLabels-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotLabelsAxes-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotLabelsAxes-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotLocalAesthetics-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotLocalAesthetics-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotThemeAdjustments-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotThemeAdjustments-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04ggplotThemeComplete-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04ggplotThemeComplete-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/04legendLabels-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/04legendLabels-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05barsTitlePosition-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05barsTitlePosition-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05basicPlot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05basicPlot-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05guideColorsteps-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05guideColorsteps-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05guideKeyHeight-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05guideKeyHeight-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05guidePositionTop-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05guidePositionTop-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05plotMargin-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05plotMargin-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05textHierarchy-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05textHierarchy-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05textMargins-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05textMargins-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05themeBaseFamily-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05themeBaseFamily-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05themeBaseSize-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05themeBaseSize-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05themeMinimal-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05themeMinimal-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/05titleAlign-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/05titleAlign-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/06customThemeApplied-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/06customThemeApplied-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/06customThemeModified-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/06customThemeModified-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/06examplePlotThemeSet-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/06examplePlotThemeSet-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/06examplePlotThemeUpdate-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/06examplePlotThemeUpdate-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/06workflowBatchDataVar-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/06workflowBatchDataVar-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/06workflowBatchSubsets-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/06workflowBatchSubsets-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPositionalInputsLinerange-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPositionalInputsLinerange-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPositionalInputsSegment-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPositionalInputsSegment-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPositionalTypeBoxplotCut2-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPositionalTypeBoxplotCut2-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPositionalTypeHistogram-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPositionalTypeHistogram-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPredefinedCustomBars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPredefinedCustomBars-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPredefinedCustomBarsDodgeVars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPredefinedCustomBarsDodgeVars-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPredefinedCustomPointsCount-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPredefinedCustomPointsCount-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPredefinedCustomSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPredefinedCustomSmooth-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPredefinedDefaultBars-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPredefinedDefaultBars-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPredefinedDefaultSmooth-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPredefinedDefaultSmooth-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerPredefinedDefaultVariants-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerPredefinedDefaultVariants-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerScatter-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerScatter-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/07layerTypeBoxplot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/07layerTypeBoxplot-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/unnamed-chunk-16-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/unnamed-chunk-16-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/unnamed-chunk-23-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/unnamed-chunk-23-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/unnamed-chunk-26-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/unnamed-chunk-26-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/unnamed-chunk-28-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/unnamed-chunk-28-1.png
--------------------------------------------------------------------------------
/docs/bookdown_files/figure-html/unnamed-chunk-31-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/bookdown_files/figure-html/unnamed-chunk-31-1.png
--------------------------------------------------------------------------------
/docs/css/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Asap:ital,wght@0,400;0,500;0,600;0,700;0,900;1,400;1,500;1,600;1,700;1,900&family=Literata:ital,opsz,wght@0,7..72,400;0,7..72,500;0,7..72,600;0,7..72,700;0,7..72,900;1,7..72,400;1,7..72,500;1,7..72,600;1,7..72,700;1,7..72,900&family=Spline+Sans+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');
2 |
3 |
4 | .book.font-family-0 {
5 | font-family: "Asap", Tahoma, Arial, sans-serif;
6 | }
7 | .book.font-family-1 {
8 | font-family: "Asap", Tahoma, Arial, sans-serif;
9 | }
10 | .book .book-header h1 {
11 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
12 | font-weight: 720;
13 | font-style: italic;
14 | }
15 |
16 |
17 | p, li {
18 | font-family: "Asap", Tahoma, Arial, sans-serif;
19 | }
20 |
21 | h1, h2, h3, h4, h5 {
22 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
23 | font-weight: 400;
24 | }
25 |
26 | h1, h2 {
27 | font-weight: 650;
28 | }
29 |
30 | h1.title, h1.hasAnchor {
31 | font-weight: 720;
32 | }
33 |
34 | h1.hasAnchor {
35 | font-style: italic;
36 | }
37 |
38 | .book .book-body .page-wrapper .page-inner section.normal h2 {
39 | font-size: 1.5em;
40 | margin-top: .75em;
41 | }
42 |
43 | .book .book-body .page-wrapper .page-inner section.normal code, .book .book-body .page-wrapper .page-inner section.normal pre {
44 | font-family: "Spline Sans Mono", Consolas, Monospace;
45 | }
46 |
47 | p.caption {
48 | color: #5A5A5A;
49 | padding-top: 5px;
50 | padding-bottom: 25px;
51 | }
52 |
53 | p code, pre code {
54 | font-family: "Spline Sans Mono", Consolas, Monospace;
55 | white-space: inherit;
56 | }
57 |
58 | pre {
59 | word-break: normal;
60 | word-wrap: normal;
61 | }
62 |
63 | p.flushright {
64 | text-align: right;
65 | }
66 |
67 | a, .st-hover, .st-current {
68 | color: #28A87D;
69 | }
70 |
71 | blockquote {
72 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
73 | font-style: italic;
74 | }
75 |
76 | blockquote > p:last-child {
77 | text-align: right;
78 | }
79 |
80 | blockquote > p:first-child {
81 | text-align: inherit;
82 | }
83 |
84 | .header-section-number, .subtitle{
85 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
86 | }
87 |
88 | .csl-entry {
89 | font-family: "Asap", Tahoma, Arial, sans-serif;
90 | }
91 |
92 | .title, .subtitle {
93 | line-height: 130%;
94 | }
95 |
96 | caption, .caption {
97 | font-family: "Literata", "Bodoni MT", "Bodoni 72", Georgia, serif;
98 | font-style: italic;
99 | color: #5A5A5A;
100 | font-size: 85%;
101 | }
102 |
103 | thead, tbody {
104 | font-size: 90%;
105 | }
106 |
107 | .note {
108 | font-family: "Asap", Tahoma, Arial, sans-serif;
109 | color:#28A87D;
110 | font-weight: 400;
111 | font-style: italic;
112 | }
113 |
114 | .comment{
115 | font-family: "Asap", Tahoma, Arial, sans-serif;
116 | color:#E2A121;
117 | font-weight: 700;
118 | font-style: italic;
119 | }
120 |
121 | /* The next two rules make the horizontal line DISAPPEAR in top navbar */
122 | /* https://rstudio4edu.github.io/rstudio4edu-book/book-fancy.html#align-tool */
123 |
124 | .summary > li:first-child {
125 | height: 60px;
126 | padding-top: 10px;
127 | border-bottom: 0px solid rgba(0,0,0,0);
128 | }
129 |
130 | .book .book-summary ul.summary li.divider {
131 | height: 0px;
132 | }
133 |
134 | /* Rounded border */
135 | hr.grey {
136 | border-top: 1px solid rgba(0,0,0,.07);
137 | }
138 |
--------------------------------------------------------------------------------
/docs/fonts/Amulya-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/Amulya-Bold.ttf
--------------------------------------------------------------------------------
/docs/fonts/Amulya-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/Amulya-BoldItalic.ttf
--------------------------------------------------------------------------------
/docs/fonts/Amulya-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/Amulya-Italic.ttf
--------------------------------------------------------------------------------
/docs/fonts/Amulya-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/Amulya-Regular.ttf
--------------------------------------------------------------------------------
/docs/fonts/InputMono-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/InputMono-Bold.ttf
--------------------------------------------------------------------------------
/docs/fonts/InputMono-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/InputMono-Italic.ttf
--------------------------------------------------------------------------------
/docs/fonts/InputMono-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/InputMono-Regular.ttf
--------------------------------------------------------------------------------
/docs/fonts/InputMonoCondensed-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/InputMonoCondensed-Bold.ttf
--------------------------------------------------------------------------------
/docs/fonts/InputMonoCondensed-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/InputMonoCondensed-Italic.ttf
--------------------------------------------------------------------------------
/docs/fonts/InputMonoCondensed-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/InputMonoCondensed-Regular.ttf
--------------------------------------------------------------------------------
/docs/fonts/InputSansCondensed-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/InputSansCondensed-Light.ttf
--------------------------------------------------------------------------------
/docs/fonts/InputSansCondensed-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/fonts/InputSansCondensed-LightItalic.ttf
--------------------------------------------------------------------------------
/docs/img/artists-tt202239-lee-olney.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/artists-tt202239-lee-olney.png
--------------------------------------------------------------------------------
/docs/img/boxplot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/boxplot.png
--------------------------------------------------------------------------------
/docs/img/coffee-ratings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/coffee-ratings.png
--------------------------------------------------------------------------------
/docs/img/doctor-who-tanya-shapiro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/doctor-who-tanya-shapiro.png
--------------------------------------------------------------------------------
/docs/img/setup-data-comparison-all-dodge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/setup-data-comparison-all-dodge.png
--------------------------------------------------------------------------------
/docs/img/setup-data-comparison-all-stack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/setup-data-comparison-all-stack.png
--------------------------------------------------------------------------------
/docs/img/setup-data-comparison-boolean.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/setup-data-comparison-boolean.png
--------------------------------------------------------------------------------
/docs/img/setup-data-comparison-raw-aggregated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/setup-data-comparison-raw-aggregated.png
--------------------------------------------------------------------------------
/docs/img/setup-data-comparison.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/setup-data-comparison.png
--------------------------------------------------------------------------------
/docs/img/setup-data-overview-stack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/setup-data-overview-stack.png
--------------------------------------------------------------------------------
/docs/img/showcase/artists-usa-lee-olney.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/showcase/artists-usa-lee-olney.png
--------------------------------------------------------------------------------
/docs/img/showcase/coffee-ratings-cedric-scherer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/showcase/coffee-ratings-cedric-scherer.png
--------------------------------------------------------------------------------
/docs/img/showcase/coffee-ratings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/showcase/coffee-ratings.png
--------------------------------------------------------------------------------
/docs/img/showcase/doctor-who-tanya-shapiro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/showcase/doctor-who-tanya-shapiro.png
--------------------------------------------------------------------------------
/docs/img/table-format-long-tidy-wide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/table-format-long-tidy-wide.png
--------------------------------------------------------------------------------
/docs/img/table-format-long-wide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/img/table-format-long-wide.png
--------------------------------------------------------------------------------
/docs/libs/anchor-sections-1.0.1/anchor-sections.css:
--------------------------------------------------------------------------------
1 | /* Styles for section anchors */
2 | a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
3 | a.anchor-section::before {content: '#';}
4 | .hasAnchor:hover a.anchor-section {visibility: visible;}
5 | ul > li > .anchor-section {display: none;}
6 |
--------------------------------------------------------------------------------
/docs/libs/anchor-sections-1.0.1/anchor-sections.js:
--------------------------------------------------------------------------------
1 | // Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
2 | document.addEventListener('DOMContentLoaded', function() {
3 | // Do nothing if AnchorJS is used
4 | if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
5 | return;
6 | }
7 |
8 | const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
9 |
10 | // Do nothing if sections are already anchored
11 | if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
12 | return null;
13 | }
14 |
15 | // Use section id when pandoc runs with --section-divs
16 | const section_id = function(x) {
17 | return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
18 | ? x.id : '');
19 | };
20 |
21 | // Add anchors
22 | h.forEach(function(x) {
23 | const id = x.id || section_id(x.parentElement);
24 | if (id === '' || x.matches(':empty')) {
25 | return null;
26 | }
27 | let anchor = document.createElement('a');
28 | anchor.href = '#' + id;
29 | anchor.classList = ['anchor-section'];
30 | x.classList.add('hasAnchor');
31 | x.appendChild(anchor);
32 | });
33 | });
34 |
--------------------------------------------------------------------------------
/docs/libs/anchor-sections-1.1.0/anchor-sections-hash.css:
--------------------------------------------------------------------------------
1 | /* Styles for section anchors */
2 | a.anchor-section::before {content: '#';font-size: 80%;}
3 |
--------------------------------------------------------------------------------
/docs/libs/anchor-sections-1.1.0/anchor-sections.css:
--------------------------------------------------------------------------------
1 | /* Styles for section anchors */
2 | a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
3 | .hasAnchor:hover a.anchor-section {visibility: visible;}
4 | ul > li > .anchor-section {display: none;}
5 |
--------------------------------------------------------------------------------
/docs/libs/anchor-sections-1.1.0/anchor-sections.js:
--------------------------------------------------------------------------------
1 | document.addEventListener('DOMContentLoaded', function () {
2 | // If section divs is used, we need to put the anchor in the child header
3 | const headers = document.querySelectorAll("div.hasAnchor.section[class*='level'] > :first-child")
4 |
5 | headers.forEach(function (x) {
6 | // Add to the header node
7 | if (!x.classList.contains('hasAnchor')) x.classList.add('hasAnchor')
8 | // Remove from the section or div created by Pandoc
9 | x.parentElement.classList.remove('hasAnchor')
10 | })
11 | })
12 |
--------------------------------------------------------------------------------
/docs/libs/anchor-sections/anchor-sections-hash.css:
--------------------------------------------------------------------------------
1 | /* Styles for section anchors */
2 | a.anchor-section::before {content: '#';font-size: 80%;}
3 |
--------------------------------------------------------------------------------
/docs/libs/anchor-sections/anchor-sections.css:
--------------------------------------------------------------------------------
1 | /* Styles for section anchors */
2 | a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
3 | .hasAnchor:hover a.anchor-section {visibility: visible;}
4 | ul > li > .anchor-section {display: none;}
5 |
--------------------------------------------------------------------------------
/docs/libs/anchor-sections/anchor-sections.js:
--------------------------------------------------------------------------------
1 | document.addEventListener('DOMContentLoaded', function () {
2 | // If section divs is used, we need to put the anchor in the child header
3 | const headers = document.querySelectorAll("div.hasAnchor.section[class*='level'] > :first-child")
4 |
5 | headers.forEach(function (x) {
6 | // Add to the header node
7 | if (!x.classList.contains('hasAnchor')) x.classList.add('hasAnchor')
8 | // Remove from the section or div created by Pandoc
9 | x.parentElement.classList.remove('hasAnchor')
10 | })
11 | })
12 |
--------------------------------------------------------------------------------
/docs/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/docs/libs/gitbook-2.6.7/css/plugin-bookdown.css:
--------------------------------------------------------------------------------
1 | .book .book-header h1 {
2 | padding-left: 20px;
3 | padding-right: 20px;
4 | }
5 | .book .book-header.fixed {
6 | position: fixed;
7 | right: 0;
8 | top: 0;
9 | left: 0;
10 | border-bottom: 1px solid rgba(0,0,0,.07);
11 | }
12 | span.search-highlight {
13 | background-color: #ffff88;
14 | }
15 | @media (min-width: 600px) {
16 | .book.with-summary .book-header.fixed {
17 | left: 300px;
18 | }
19 | }
20 | @media (max-width: 1240px) {
21 | .book .book-body.fixed {
22 | top: 50px;
23 | }
24 | .book .book-body.fixed .body-inner {
25 | top: auto;
26 | }
27 | }
28 | @media (max-width: 600px) {
29 | .book.with-summary .book-header.fixed {
30 | left: calc(100% - 60px);
31 | min-width: 300px;
32 | }
33 | .book.with-summary .book-body {
34 | transform: none;
35 | left: calc(100% - 60px);
36 | min-width: 300px;
37 | }
38 | .book .book-body.fixed {
39 | top: 0;
40 | }
41 | }
42 |
43 | .book .book-body.fixed .body-inner {
44 | top: 50px;
45 | }
46 | .book .book-body .page-wrapper .page-inner section.normal sub, .book .book-body .page-wrapper .page-inner section.normal sup {
47 | font-size: 85%;
48 | }
49 |
50 | @media print {
51 | .book .book-summary, .book .book-body .book-header, .fa {
52 | display: none !important;
53 | }
54 | .book .book-body.fixed {
55 | left: 0px;
56 | }
57 | .book .book-body,.book .book-body .body-inner, .book.with-summary {
58 | overflow: visible !important;
59 | }
60 | }
61 | .kable_wrapper {
62 | border-spacing: 20px 0;
63 | border-collapse: separate;
64 | border: none;
65 | margin: auto;
66 | }
67 | .kable_wrapper > tbody > tr > td {
68 | vertical-align: top;
69 | }
70 | .book .book-body .page-wrapper .page-inner section.normal table tr.header {
71 | border-top-width: 2px;
72 | }
73 | .book .book-body .page-wrapper .page-inner section.normal table tr:last-child td {
74 | border-bottom-width: 2px;
75 | }
76 | .book .book-body .page-wrapper .page-inner section.normal table td, .book .book-body .page-wrapper .page-inner section.normal table th {
77 | border-left: none;
78 | border-right: none;
79 | }
80 | .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr, .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr > td {
81 | border-top: none;
82 | }
83 | .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr:last-child > td {
84 | border-bottom: none;
85 | }
86 |
87 | div.theorem, div.lemma, div.corollary, div.proposition, div.conjecture {
88 | font-style: italic;
89 | }
90 | span.theorem, span.lemma, span.corollary, span.proposition, span.conjecture {
91 | font-style: normal;
92 | }
93 | div.proof>*:last-child:after {
94 | content: "\25a2";
95 | float: right;
96 | }
97 | .header-section-number {
98 | padding-right: .5em;
99 | }
100 | #header .multi-author {
101 | margin: 0.5em 0 -0.5em 0;
102 | }
103 | #header .date {
104 | margin-top: 1.5em;
105 | }
106 |
--------------------------------------------------------------------------------
/docs/libs/gitbook-2.6.7/css/plugin-clipboard.css:
--------------------------------------------------------------------------------
1 | div.sourceCode {
2 | position: relative;
3 | }
4 |
5 | .copy-to-clipboard-button {
6 | position: absolute;
7 | right: 0;
8 | top: 0;
9 | visibility: hidden;
10 | }
11 |
12 | .copy-to-clipboard-button:focus {
13 | outline: 0;
14 | }
15 |
16 | div.sourceCode:hover > .copy-to-clipboard-button {
17 | visibility: visible;
18 | }
19 |
--------------------------------------------------------------------------------
/docs/libs/gitbook-2.6.7/css/plugin-search.css:
--------------------------------------------------------------------------------
1 | .book .book-summary .book-search {
2 | padding: 6px;
3 | background: transparent;
4 | position: absolute;
5 | top: -50px;
6 | left: 0px;
7 | right: 0px;
8 | transition: top 0.5s ease;
9 | }
10 | .book .book-summary .book-search input,
11 | .book .book-summary .book-search input:focus,
12 | .book .book-summary .book-search input:hover {
13 | width: 100%;
14 | background: transparent;
15 | border: 1px solid #ccc;
16 | box-shadow: none;
17 | outline: none;
18 | line-height: 22px;
19 | padding: 7px 4px;
20 | color: inherit;
21 | box-sizing: border-box;
22 | }
23 | .book.with-search .book-summary .book-search {
24 | top: 0px;
25 | }
26 | .book.with-search .book-summary ul.summary {
27 | top: 50px;
28 | }
29 | .with-search .summary li[data-level] a[href*=".html#"] {
30 | display: none;
31 | }
32 |
--------------------------------------------------------------------------------
/docs/libs/gitbook-2.6.7/css/plugin-table.css:
--------------------------------------------------------------------------------
1 | .book .book-body .page-wrapper .page-inner section.normal table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}.book .book-body .page-wrapper .page-inner section.normal table td,.book .book-body .page-wrapper .page-inner section.normal table th{padding:6px 13px;border:1px solid #ddd}.book .book-body .page-wrapper .page-inner section.normal table tr{background-color:#fff;border-top:1px solid #ccc}.book .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n){background-color:#f8f8f8}.book .book-body .page-wrapper .page-inner section.normal table th{font-weight:700}
2 |
--------------------------------------------------------------------------------
/docs/libs/gitbook-2.6.7/js/jquery.highlight.js:
--------------------------------------------------------------------------------
1 | gitbook.require(["jQuery"], function(jQuery) {
2 |
3 | /*
4 | * jQuery Highlight plugin
5 | *
6 | * Based on highlight v3 by Johann Burkard
7 | * http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html
8 | *
9 | * Code a little bit refactored and cleaned (in my humble opinion).
10 | * Most important changes:
11 | * - has an option to highlight only entire words (wordsOnly - false by default),
12 | * - has an option to be case sensitive (caseSensitive - false by default)
13 | * - highlight element tag and class names can be specified in options
14 | *
15 | * Copyright (c) 2009 Bartek Szopka
16 | *
17 | * Licensed under MIT license.
18 | *
19 | */
20 |
21 | jQuery.extend({
22 | highlight: function (node, re, nodeName, className) {
23 | if (node.nodeType === 3) {
24 | var match = node.data.match(re);
25 | if (match) {
26 | var highlight = document.createElement(nodeName || 'span');
27 | highlight.className = className || 'highlight';
28 | var wordNode = node.splitText(match.index);
29 | wordNode.splitText(match[0].length);
30 | var wordClone = wordNode.cloneNode(true);
31 | highlight.appendChild(wordClone);
32 | wordNode.parentNode.replaceChild(highlight, wordNode);
33 | return 1; //skip added node in parent
34 | }
35 | } else if ((node.nodeType === 1 && node.childNodes) && // only element nodes that have children
36 | !/(script|style)/i.test(node.tagName) && // ignore script and style nodes
37 | !(node.tagName === nodeName.toUpperCase() && node.className === className)) { // skip if already highlighted
38 | for (var i = 0; i < node.childNodes.length; i++) {
39 | i += jQuery.highlight(node.childNodes[i], re, nodeName, className);
40 | }
41 | }
42 | return 0;
43 | }
44 | });
45 |
46 | jQuery.fn.unhighlight = function (options) {
47 | var settings = { className: 'highlight', element: 'span' };
48 | jQuery.extend(settings, options);
49 |
50 | return this.find(settings.element + "." + settings.className).each(function () {
51 | var parent = this.parentNode;
52 | parent.replaceChild(this.firstChild, this);
53 | parent.normalize();
54 | }).end();
55 | };
56 |
57 | jQuery.fn.highlight = function (words, options) {
58 | var settings = { className: 'highlight', element: 'span', caseSensitive: false, wordsOnly: false };
59 | jQuery.extend(settings, options);
60 |
61 | if (words.constructor === String) {
62 | words = [words];
63 | // also match 'foo-bar' if search for 'foo bar'
64 | if (/\s/.test(words[0])) words.push(words[0].replace(/\s+/, '-'));
65 | }
66 | words = jQuery.grep(words, function(word, i){
67 | return word !== '';
68 | });
69 | words = jQuery.map(words, function(word, i) {
70 | return word.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
71 | });
72 | if (words.length === 0) { return this; }
73 |
74 | var flag = settings.caseSensitive ? "" : "i";
75 | var pattern = "(" + words.join("|") + ")";
76 | if (settings.wordsOnly) {
77 | pattern = "\\b" + pattern + "\\b";
78 | }
79 | var re = new RegExp(pattern, flag);
80 |
81 | return this.each(function () {
82 | jQuery.highlight(this, re, settings.element, settings.className);
83 | });
84 | };
85 |
86 | });
87 |
--------------------------------------------------------------------------------
/docs/libs/gitbook-2.6.7/js/plugin-clipboard.js:
--------------------------------------------------------------------------------
1 | gitbook.require(["gitbook", "jQuery"], function(gitbook, $) {
2 |
3 | var copyButton = '';
4 | var clipboard;
5 |
6 | gitbook.events.bind("page.change", function() {
7 |
8 | if (!ClipboardJS.isSupported()) return;
9 |
10 | // the page.change event is thrown twice: before and after the page changes
11 | if (clipboard) {
12 | // clipboard is already defined but we are on the same page
13 | if (clipboard._prevPage === window.location.pathname) return;
14 | // clipboard is already defined and url path change
15 | // we can deduct that we are before page changes
16 | clipboard.destroy(); // destroy the previous events listeners
17 | clipboard = undefined; // reset the clipboard object
18 | return;
19 | }
20 |
21 | $(copyButton).prependTo("div.sourceCode");
22 |
23 | clipboard = new ClipboardJS(".copy-to-clipboard-button", {
24 | text: function(trigger) {
25 | return trigger.parentNode.textContent;
26 | }
27 | });
28 |
29 | clipboard._prevPage = window.location.pathname
30 |
31 | });
32 |
33 | });
34 |
--------------------------------------------------------------------------------
/docs/libs/gitbook-2.6.7/js/plugin-fontsettings.js:
--------------------------------------------------------------------------------
1 | gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) {
2 | var fontState;
3 |
4 | var THEMES = {
5 | "white": 0,
6 | "sepia": 1,
7 | "night": 2
8 | };
9 |
10 | var FAMILY = {
11 | "serif": 0,
12 | "sans": 1
13 | };
14 |
15 | // Save current font settings
16 | function saveFontSettings() {
17 | gitbook.storage.set("fontState", fontState);
18 | update();
19 | }
20 |
21 | // Increase font size
22 | function enlargeFontSize(e) {
23 | e.preventDefault();
24 | if (fontState.size >= 4) return;
25 |
26 | fontState.size++;
27 | saveFontSettings();
28 | };
29 |
30 | // Decrease font size
31 | function reduceFontSize(e) {
32 | e.preventDefault();
33 | if (fontState.size <= 0) return;
34 |
35 | fontState.size--;
36 | saveFontSettings();
37 | };
38 |
39 | // Change font family
40 | function changeFontFamily(index, e) {
41 | e.preventDefault();
42 |
43 | fontState.family = index;
44 | saveFontSettings();
45 | };
46 |
47 | // Change type of color
48 | function changeColorTheme(index, e) {
49 | e.preventDefault();
50 |
51 | var $book = $(".book");
52 |
53 | if (fontState.theme !== 0)
54 | $book.removeClass("color-theme-"+fontState.theme);
55 |
56 | fontState.theme = index;
57 | if (fontState.theme !== 0)
58 | $book.addClass("color-theme-"+fontState.theme);
59 |
60 | saveFontSettings();
61 | };
62 |
63 | function update() {
64 | var $book = gitbook.state.$book;
65 |
66 | $(".font-settings .font-family-list li").removeClass("active");
67 | $(".font-settings .font-family-list li:nth-child("+(fontState.family+1)+")").addClass("active");
68 |
69 | $book[0].className = $book[0].className.replace(/\bfont-\S+/g, '');
70 | $book.addClass("font-size-"+fontState.size);
71 | $book.addClass("font-family-"+fontState.family);
72 |
73 | if(fontState.theme !== 0) {
74 | $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, '');
75 | $book.addClass("color-theme-"+fontState.theme);
76 | }
77 | };
78 |
79 | function init(config) {
80 | var $bookBody, $book;
81 |
82 | //Find DOM elements.
83 | $book = gitbook.state.$book;
84 | $bookBody = $book.find(".book-body");
85 |
86 | // Instantiate font state object
87 | fontState = gitbook.storage.get("fontState", {
88 | size: config.size || 2,
89 | family: FAMILY[config.family || "sans"],
90 | theme: THEMES[config.theme || "white"]
91 | });
92 |
93 | update();
94 | };
95 |
96 |
97 | gitbook.events.bind("start", function(e, config) {
98 | var opts = config.fontsettings;
99 | if (!opts) return;
100 |
101 | // Create buttons in toolbar
102 | gitbook.toolbar.createButton({
103 | icon: 'fa fa-font',
104 | label: 'Font Settings',
105 | className: 'font-settings',
106 | dropdown: [
107 | [
108 | {
109 | text: 'A',
110 | className: 'font-reduce',
111 | onClick: reduceFontSize
112 | },
113 | {
114 | text: 'A',
115 | className: 'font-enlarge',
116 | onClick: enlargeFontSize
117 | }
118 | ],
119 | [
120 | {
121 | text: 'Serif',
122 | onClick: _.partial(changeFontFamily, 0)
123 | },
124 | {
125 | text: 'Sans',
126 | onClick: _.partial(changeFontFamily, 1)
127 | }
128 | ],
129 | [
130 | {
131 | text: 'White',
132 | onClick: _.partial(changeColorTheme, 0)
133 | },
134 | {
135 | text: 'Sepia',
136 | onClick: _.partial(changeColorTheme, 1)
137 | },
138 | {
139 | text: 'Night',
140 | onClick: _.partial(changeColorTheme, 2)
141 | }
142 | ]
143 | ]
144 | });
145 |
146 |
147 | // Init current settings
148 | init(opts);
149 | });
150 | });
151 |
152 |
153 |
--------------------------------------------------------------------------------
/docs/libs/gitbook-2.6.7/js/plugin-sharing.js:
--------------------------------------------------------------------------------
1 | gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) {
2 | var SITES = {
3 | 'github': {
4 | 'label': 'Github',
5 | 'icon': 'fa fa-github',
6 | 'onClick': function(e) {
7 | e.preventDefault();
8 | var repo = $('meta[name="github-repo"]').attr('content');
9 | if (typeof repo === 'undefined') throw("Github repo not defined");
10 | window.open("https://github.com/"+repo);
11 | }
12 | },
13 | 'facebook': {
14 | 'label': 'Facebook',
15 | 'icon': 'fa fa-facebook',
16 | 'onClick': function(e) {
17 | e.preventDefault();
18 | window.open("http://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href));
19 | }
20 | },
21 | 'twitter': {
22 | 'label': 'Twitter',
23 | 'icon': 'fa fa-twitter',
24 | 'onClick': function(e) {
25 | e.preventDefault();
26 | window.open("http://twitter.com/intent/tweet?text="+encodeURIComponent(document.title)+"&url="+encodeURIComponent(location.href)+"&hashtags=rmarkdown,bookdown");
27 | }
28 | },
29 | 'linkedin': {
30 | 'label': 'LinkedIn',
31 | 'icon': 'fa fa-linkedin',
32 | 'onClick': function(e) {
33 | e.preventDefault();
34 | window.open("https://www.linkedin.com/shareArticle?mini=true&url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title));
35 | }
36 | },
37 | 'weibo': {
38 | 'label': 'Weibo',
39 | 'icon': 'fa fa-weibo',
40 | 'onClick': function(e) {
41 | e.preventDefault();
42 | window.open("http://service.weibo.com/share/share.php?content=utf-8&url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title));
43 | }
44 | },
45 | 'instapaper': {
46 | 'label': 'Instapaper',
47 | 'icon': 'fa fa-italic',
48 | 'onClick': function(e) {
49 | e.preventDefault();
50 | window.open("http://www.instapaper.com/text?u="+encodeURIComponent(location.href));
51 | }
52 | },
53 | 'vk': {
54 | 'label': 'VK',
55 | 'icon': 'fa fa-vk',
56 | 'onClick': function(e) {
57 | e.preventDefault();
58 | window.open("http://vkontakte.ru/share.php?url="+encodeURIComponent(location.href));
59 | }
60 | },
61 | 'whatsapp': {
62 | 'label': 'Whatsapp',
63 | 'icon': 'fa fa-whatsapp',
64 | 'onClick': function(e) {
65 | e.preventDefault();
66 | var url = encodeURIComponent(location.href);
67 | window.open((isMobile() ? "whatsapp://send" : "https://web.whatsapp.com/send") + "?text=" + url);
68 | }
69 | },
70 | };
71 |
72 | function isMobile() {
73 | return !!navigator.maxTouchPoints;
74 | }
75 |
76 | gitbook.events.bind("start", function(e, config) {
77 | var opts = config.sharing;
78 | if (!opts) return;
79 |
80 | // Create dropdown menu
81 | var menu = _.chain(opts.all)
82 | .map(function(id) {
83 | var site = SITES[id];
84 | if (!site) return;
85 | return {
86 | text: site.label,
87 | onClick: site.onClick
88 | };
89 | })
90 | .compact()
91 | .value();
92 |
93 | // Create main button with dropdown
94 | if (menu.length > 0) {
95 | gitbook.toolbar.createButton({
96 | icon: 'fa fa-share-alt',
97 | label: 'Share',
98 | position: 'right',
99 | dropdown: [menu]
100 | });
101 | }
102 |
103 | // Direct actions to share
104 | _.each(SITES, function(site, sideId) {
105 | if (!opts[sideId]) return;
106 |
107 | gitbook.toolbar.createButton({
108 | icon: site.icon,
109 | label: site.label,
110 | title: site.label,
111 | position: 'right',
112 | onClick: site.onClick
113 | });
114 | });
115 | });
116 | });
117 |
--------------------------------------------------------------------------------
/docs/libs/gitbook/css/fontawesome/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/docs/libs/gitbook/css/fontawesome/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/docs/libs/gitbook/css/plugin-bookdown.css:
--------------------------------------------------------------------------------
1 | .book .book-header h1 {
2 | padding-left: 20px;
3 | padding-right: 20px;
4 | }
5 | .book .book-header.fixed {
6 | position: fixed;
7 | right: 0;
8 | top: 0;
9 | left: 0;
10 | border-bottom: 1px solid rgba(0,0,0,.07);
11 | }
12 | span.search-highlight {
13 | background-color: #ffff88;
14 | }
15 | @media (min-width: 600px) {
16 | .book.with-summary .book-header.fixed {
17 | left: 300px;
18 | }
19 | }
20 | @media (max-width: 1240px) {
21 | .book .book-body.fixed {
22 | top: 50px;
23 | }
24 | .book .book-body.fixed .body-inner {
25 | top: auto;
26 | }
27 | }
28 | @media (max-width: 600px) {
29 | .book.with-summary .book-header.fixed {
30 | left: calc(100% - 60px);
31 | min-width: 300px;
32 | }
33 | .book.with-summary .book-body {
34 | transform: none;
35 | left: calc(100% - 60px);
36 | min-width: 300px;
37 | }
38 | .book .book-body.fixed {
39 | top: 0;
40 | }
41 | }
42 |
43 | .book .book-body.fixed .body-inner {
44 | top: 50px;
45 | }
46 | .book .book-body .page-wrapper .page-inner section.normal sub, .book .book-body .page-wrapper .page-inner section.normal sup {
47 | font-size: 85%;
48 | }
49 |
50 | @media print {
51 | .book .book-summary, .book .book-body .book-header, .fa {
52 | display: none !important;
53 | }
54 | .book .book-body.fixed {
55 | left: 0px;
56 | }
57 | .book .book-body,.book .book-body .body-inner, .book.with-summary {
58 | overflow: visible !important;
59 | }
60 | }
61 | .kable_wrapper {
62 | border-spacing: 20px 0;
63 | border-collapse: separate;
64 | border: none;
65 | margin: auto;
66 | }
67 | .kable_wrapper > tbody > tr > td {
68 | vertical-align: top;
69 | }
70 | .book .book-body .page-wrapper .page-inner section.normal table tr.header {
71 | border-top-width: 2px;
72 | }
73 | .book .book-body .page-wrapper .page-inner section.normal table tr:last-child td {
74 | border-bottom-width: 2px;
75 | }
76 | .book .book-body .page-wrapper .page-inner section.normal table td, .book .book-body .page-wrapper .page-inner section.normal table th {
77 | border-left: none;
78 | border-right: none;
79 | }
80 | .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr, .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr > td {
81 | border-top: none;
82 | }
83 | .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr:last-child > td {
84 | border-bottom: none;
85 | }
86 |
87 | div.theorem, div.lemma, div.corollary, div.proposition, div.conjecture {
88 | font-style: italic;
89 | }
90 | span.theorem, span.lemma, span.corollary, span.proposition, span.conjecture {
91 | font-style: normal;
92 | }
93 | div.proof>*:last-child:after {
94 | content: "\25a2";
95 | float: right;
96 | }
97 | .header-section-number {
98 | padding-right: .5em;
99 | }
100 | #header .multi-author {
101 | margin: 0.5em 0 -0.5em 0;
102 | }
103 | #header .date {
104 | margin-top: 1.5em;
105 | }
106 |
--------------------------------------------------------------------------------
/docs/libs/gitbook/css/plugin-clipboard.css:
--------------------------------------------------------------------------------
1 | div.sourceCode {
2 | position: relative;
3 | }
4 |
5 | .copy-to-clipboard-button {
6 | position: absolute;
7 | right: 0;
8 | top: 0;
9 | visibility: hidden;
10 | }
11 |
12 | .copy-to-clipboard-button:focus {
13 | outline: 0;
14 | }
15 |
16 | div.sourceCode:hover > .copy-to-clipboard-button {
17 | visibility: visible;
18 | }
19 |
--------------------------------------------------------------------------------
/docs/libs/gitbook/css/plugin-search.css:
--------------------------------------------------------------------------------
1 | .book .book-summary .book-search {
2 | padding: 6px;
3 | background: transparent;
4 | position: absolute;
5 | top: -50px;
6 | left: 0px;
7 | right: 0px;
8 | transition: top 0.5s ease;
9 | }
10 | .book .book-summary .book-search input,
11 | .book .book-summary .book-search input:focus,
12 | .book .book-summary .book-search input:hover {
13 | width: 100%;
14 | background: transparent;
15 | border: 1px solid #ccc;
16 | box-shadow: none;
17 | outline: none;
18 | line-height: 22px;
19 | padding: 7px 4px;
20 | color: inherit;
21 | box-sizing: border-box;
22 | }
23 | .book.with-search .book-summary .book-search {
24 | top: 0px;
25 | }
26 | .book.with-search .book-summary ul.summary {
27 | top: 50px;
28 | }
29 | .with-search .summary li[data-level] a[href*=".html#"] {
30 | display: none;
31 | }
32 |
--------------------------------------------------------------------------------
/docs/libs/gitbook/css/plugin-table.css:
--------------------------------------------------------------------------------
1 | .book .book-body .page-wrapper .page-inner section.normal table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}.book .book-body .page-wrapper .page-inner section.normal table td,.book .book-body .page-wrapper .page-inner section.normal table th{padding:6px 13px;border:1px solid #ddd}.book .book-body .page-wrapper .page-inner section.normal table tr{background-color:#fff;border-top:1px solid #ccc}.book .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n){background-color:#f8f8f8}.book .book-body .page-wrapper .page-inner section.normal table th{font-weight:700}
2 |
--------------------------------------------------------------------------------
/docs/libs/gitbook/js/jquery.highlight.js:
--------------------------------------------------------------------------------
1 | gitbook.require(["jQuery"], function(jQuery) {
2 |
3 | /*
4 | * jQuery Highlight plugin
5 | *
6 | * Based on highlight v3 by Johann Burkard
7 | * http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html
8 | *
9 | * Code a little bit refactored and cleaned (in my humble opinion).
10 | * Most important changes:
11 | * - has an option to highlight only entire words (wordsOnly - false by default),
12 | * - has an option to be case sensitive (caseSensitive - false by default)
13 | * - highlight element tag and class names can be specified in options
14 | *
15 | * Copyright (c) 2009 Bartek Szopka
16 | *
17 | * Licensed under MIT license.
18 | *
19 | */
20 |
21 | jQuery.extend({
22 | highlight: function (node, re, nodeName, className) {
23 | if (node.nodeType === 3) {
24 | var match = node.data.match(re);
25 | if (match) {
26 | var highlight = document.createElement(nodeName || 'span');
27 | highlight.className = className || 'highlight';
28 | var wordNode = node.splitText(match.index);
29 | wordNode.splitText(match[0].length);
30 | var wordClone = wordNode.cloneNode(true);
31 | highlight.appendChild(wordClone);
32 | wordNode.parentNode.replaceChild(highlight, wordNode);
33 | return 1; //skip added node in parent
34 | }
35 | } else if ((node.nodeType === 1 && node.childNodes) && // only element nodes that have children
36 | !/(script|style)/i.test(node.tagName) && // ignore script and style nodes
37 | !(node.tagName === nodeName.toUpperCase() && node.className === className)) { // skip if already highlighted
38 | for (var i = 0; i < node.childNodes.length; i++) {
39 | i += jQuery.highlight(node.childNodes[i], re, nodeName, className);
40 | }
41 | }
42 | return 0;
43 | }
44 | });
45 |
46 | jQuery.fn.unhighlight = function (options) {
47 | var settings = { className: 'highlight', element: 'span' };
48 | jQuery.extend(settings, options);
49 |
50 | return this.find(settings.element + "." + settings.className).each(function () {
51 | var parent = this.parentNode;
52 | parent.replaceChild(this.firstChild, this);
53 | parent.normalize();
54 | }).end();
55 | };
56 |
57 | jQuery.fn.highlight = function (words, options) {
58 | var settings = { className: 'highlight', element: 'span', caseSensitive: false, wordsOnly: false };
59 | jQuery.extend(settings, options);
60 |
61 | if (words.constructor === String) {
62 | words = [words];
63 | // also match 'foo-bar' if search for 'foo bar'
64 | if (/\s/.test(words[0])) words.push(words[0].replace(/\s+/, '-'));
65 | }
66 | words = jQuery.grep(words, function(word, i){
67 | return word !== '';
68 | });
69 | words = jQuery.map(words, function(word, i) {
70 | return word.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
71 | });
72 | if (words.length === 0) { return this; }
73 |
74 | var flag = settings.caseSensitive ? "" : "i";
75 | var pattern = "(" + words.join("|") + ")";
76 | if (settings.wordsOnly) {
77 | pattern = "\\b" + pattern + "\\b";
78 | }
79 | var re = new RegExp(pattern, flag);
80 |
81 | return this.each(function () {
82 | jQuery.highlight(this, re, settings.element, settings.className);
83 | });
84 | };
85 |
86 | });
87 |
--------------------------------------------------------------------------------
/docs/libs/gitbook/js/plugin-bookdown.js:
--------------------------------------------------------------------------------
1 | gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) {
2 |
3 | var gs = gitbook.storage;
4 |
5 | gitbook.events.bind("start", function(e, config) {
6 |
7 | // add the Edit button (edit on Github)
8 | var edit = config.edit;
9 | if (edit && edit.link) gitbook.toolbar.createButton({
10 | icon: 'fa fa-edit',
11 | label: edit.text || 'Edit',
12 | position: 'left',
13 | onClick: function(e) {
14 | e.preventDefault();
15 | window.open(edit.link);
16 | }
17 | });
18 |
19 | // add the History button (file history on Github)
20 | var history = config.history;
21 | if (history && history.link) gitbook.toolbar.createButton({
22 | icon: 'fa fa-history',
23 | label: history.text || 'History',
24 | position: 'left',
25 | onClick: function(e) {
26 | e.preventDefault();
27 | window.open(history.link);
28 | }
29 | });
30 |
31 | // add the View button (file view on Github)
32 | var view = config.view;
33 | if (view && view.link) gitbook.toolbar.createButton({
34 | icon: 'fa fa-eye',
35 | label: view.text || 'View Source',
36 | position: 'left',
37 | onClick: function(e) {
38 | e.preventDefault();
39 | window.open(view.link);
40 | }
41 | });
42 |
43 | // add the Download button
44 | var down = config.download;
45 | var normalizeDownload = function() {
46 | if (!down || !(down instanceof Array) || down.length === 0) return;
47 | if (down[0] instanceof Array) return down;
48 | return $.map(down, function(file, i) {
49 | return [[file, file.replace(/.*[.]/g, '').toUpperCase()]];
50 | });
51 | };
52 | down = normalizeDownload(down);
53 | if (down) if (down.length === 1 && /[.]pdf$/.test(down[0][0])) {
54 | gitbook.toolbar.createButton({
55 | icon: 'fa fa-file-pdf-o',
56 | label: down[0][1],
57 | position: 'left',
58 | onClick: function(e) {
59 | e.preventDefault();
60 | window.open(down[0][0]);
61 | }
62 | });
63 | } else {
64 | gitbook.toolbar.createButton({
65 | icon: 'fa fa-download',
66 | label: 'Download',
67 | position: 'left',
68 | dropdown: $.map(down, function(item, i) {
69 | return {
70 | text: item[1],
71 | onClick: function(e) {
72 | e.preventDefault();
73 | window.open(item[0]);
74 | }
75 | };
76 | })
77 | });
78 | }
79 |
80 | // add the Information button
81 | var info = ['Keyboard shortcuts (<> indicates arrow keys):',
82 | '/: navigate to previous/next page',
83 | 's: Toggle sidebar'];
84 | if (config.search !== false) info.push('f: Toggle search input ' +
85 | '(use //Enter in the search input to navigate through search matches; ' +
86 | 'press Esc to cancel search)');
87 | if (config.info !== false) gitbook.toolbar.createButton({
88 | icon: 'fa fa-info',
89 | label: 'Information about the toolbar',
90 | position: 'left',
91 | onClick: function(e) {
92 | e.preventDefault();
93 | window.alert(info.join('\n\n'));
94 | }
95 | });
96 |
97 | // highlight the current section in TOC
98 | var href = window.location.pathname;
99 | href = href.substr(href.lastIndexOf('/') + 1);
100 | // accentuated characters need to be decoded (#819)
101 | href = decodeURIComponent(href);
102 | if (href === '') href = 'index.html';
103 | var li = $('a[href^="' + href + location.hash + '"]').parent('li.chapter').first();
104 | var summary = $('ul.summary'), chaps = summary.find('li.chapter');
105 | if (li.length === 0) li = chaps.first();
106 | li.addClass('active');
107 | chaps.on('click', function(e) {
108 | chaps.removeClass('active');
109 | $(this).addClass('active');
110 | gs.set('tocScrollTop', summary.scrollTop());
111 | });
112 |
113 | var toc = config.toc;
114 | // collapse TOC items that are not for the current chapter
115 | if (toc && toc.collapse) (function() {
116 | var type = toc.collapse;
117 | if (type === 'none') return;
118 | if (type !== 'section' && type !== 'subsection') return;
119 | // sections under chapters
120 | var toc_sub = summary.children('li[data-level]').children('ul');
121 | if (type === 'section') {
122 | toc_sub.hide()
123 | .parent().has(li).children('ul').show();
124 | } else {
125 | toc_sub.children('li').children('ul').hide()
126 | .parent().has(li).children('ul').show();
127 | }
128 | li.children('ul').show();
129 | var toc_sub2 = toc_sub.children('li');
130 | if (type === 'section') toc_sub2.children('ul').hide();
131 | summary.children('li[data-level]').find('a')
132 | .on('click.bookdown', function(e) {
133 | if (href === $(this).attr('href').replace(/#.*/, ''))
134 | $(this).parent('li').children('ul').toggle();
135 | });
136 | })();
137 |
138 | // add tooltips to the 's that are truncated
139 | $('a').each(function(i, el) {
140 | if (el.offsetWidth >= el.scrollWidth) return;
141 | if (typeof el.title === 'undefined') return;
142 | el.title = el.text;
143 | });
144 |
145 | // restore TOC scroll position
146 | var pos = gs.get('tocScrollTop');
147 | if (typeof pos !== 'undefined') summary.scrollTop(pos);
148 |
149 | // highlight the TOC item that has same text as the heading in view as scrolling
150 | if (toc && toc.scroll_highlight !== false && li.length > 0) (function() {
151 | // scroll the current TOC item into viewport
152 | var ht = $(window).height(), rect = li[0].getBoundingClientRect();
153 | if (rect.top >= ht || rect.top <= 0 || rect.bottom <= 0) {
154 | summary.scrollTop(li[0].offsetTop);
155 | }
156 | // current chapter TOC items
157 | var items = $('a[href^="' + href + '"]').parent('li.chapter'),
158 | m = items.length;
159 | if (m === 0) {
160 | items = summary.find('li.chapter');
161 | m = items.length;
162 | }
163 | if (m === 0) return;
164 | // all section titles on current page
165 | var hs = bookInner.find('.page-inner').find('h1,h2,h3'), n = hs.length,
166 | ts = hs.map(function(i, el) { return $(el).text(); });
167 | if (n === 0) return;
168 | var scrollHandler = function(e) {
169 | var ht = $(window).height();
170 | clearTimeout($.data(this, 'scrollTimer'));
171 | $.data(this, 'scrollTimer', setTimeout(function() {
172 | // find the first visible title in the viewport
173 | for (var i = 0; i < n; i++) {
174 | var rect = hs[i].getBoundingClientRect();
175 | if (rect.top >= 0 && rect.bottom <= ht) break;
176 | }
177 | if (i === n) return;
178 | items.removeClass('active');
179 | for (var j = 0; j < m; j++) {
180 | if (items.eq(j).children('a').first().text() === ts[i]) break;
181 | }
182 | if (j === m) j = 0; // highlight the chapter title
183 | // search bottom-up for a visible TOC item to highlight; if an item is
184 | // hidden, we check if its parent is visible, and so on
185 | while (j > 0 && items.eq(j).is(':hidden')) j--;
186 | items.eq(j).addClass('active');
187 | }, 250));
188 | };
189 | bookInner.on('scroll.bookdown', scrollHandler);
190 | bookBody.on('scroll.bookdown', scrollHandler);
191 | })();
192 |
193 | // do not refresh the page if the TOC item points to the current page
194 | $('a[href="' + href + '"]').parent('li.chapter').children('a')
195 | .on('click', function(e) {
196 | bookInner.scrollTop(0);
197 | bookBody.scrollTop(0);
198 | return false;
199 | });
200 |
201 | var toolbar = config.toolbar;
202 | if (!toolbar || toolbar.position !== 'static') {
203 | var bookHeader = $('.book-header');
204 | bookBody.addClass('fixed');
205 | bookHeader.addClass('fixed')
206 | .css('background-color', bookBody.css('background-color'))
207 | .on('click.bookdown', function(e) {
208 | // the theme may have changed after user clicks the theme button
209 | bookHeader.css('background-color', bookBody.css('background-color'));
210 | });
211 | }
212 |
213 | });
214 |
215 | gitbook.events.bind("page.change", function(e) {
216 | // store TOC scroll position
217 | var summary = $('ul.summary');
218 | gs.set('tocScrollTop', summary.scrollTop());
219 | });
220 |
221 | var bookBody = $('.book-body'), bookInner = bookBody.find('.body-inner');
222 | var chapterTitle = function() {
223 | return bookInner.find('.page-inner').find('h1,h2').first().text();
224 | };
225 | var saveScrollPos = function(e) {
226 | // save scroll position before page is reloaded
227 | gs.set('bodyScrollTop', {
228 | body: bookBody.scrollTop(),
229 | inner: bookInner.scrollTop(),
230 | focused: document.hasFocus(),
231 | title: chapterTitle()
232 | });
233 | };
234 | $(document).on('servr:reload', saveScrollPos);
235 |
236 | // check if the page is loaded in an iframe (e.g. the RStudio preview window)
237 | var inIFrame = function() {
238 | var inIframe = true;
239 | try { inIframe = window.self !== window.top; } catch (e) {}
240 | return inIframe;
241 | };
242 | if (inIFrame()) {
243 | $(window).on('blur unload', saveScrollPos);
244 | }
245 |
246 | $(function(e) {
247 | var pos = gs.get('bodyScrollTop');
248 | if (pos) {
249 | if (pos.title === chapterTitle()) {
250 | if (pos.body !== 0) bookBody.scrollTop(pos.body);
251 | if (pos.inner !== 0) bookInner.scrollTop(pos.inner);
252 | }
253 | }
254 | if ((pos && pos.focused) || !inIFrame()) bookInner.find('.page-wrapper').focus();
255 | // clear book body scroll position
256 | gs.remove('bodyScrollTop');
257 | });
258 |
259 | });
260 |
--------------------------------------------------------------------------------
/docs/libs/gitbook/js/plugin-clipboard.js:
--------------------------------------------------------------------------------
1 | gitbook.require(["gitbook", "jQuery"], function(gitbook, $) {
2 |
3 | var copyButton = '';
4 | var clipboard;
5 |
6 | gitbook.events.bind("page.change", function() {
7 |
8 | if (!ClipboardJS.isSupported()) return;
9 |
10 | // the page.change event is thrown twice: before and after the page changes
11 | if (clipboard) {
12 | // clipboard is already defined but we are on the same page
13 | if (clipboard._prevPage === window.location.pathname) return;
14 | // clipboard is already defined and url path change
15 | // we can deduct that we are before page changes
16 | clipboard.destroy(); // destroy the previous events listeners
17 | clipboard = undefined; // reset the clipboard object
18 | return;
19 | }
20 |
21 | $(copyButton).prependTo("div.sourceCode");
22 |
23 | clipboard = new ClipboardJS(".copy-to-clipboard-button", {
24 | text: function(trigger) {
25 | return trigger.parentNode.textContent;
26 | }
27 | });
28 |
29 | clipboard._prevPage = window.location.pathname
30 |
31 | });
32 |
33 | });
34 |
--------------------------------------------------------------------------------
/docs/libs/gitbook/js/plugin-fontsettings.js:
--------------------------------------------------------------------------------
1 | gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) {
2 | var fontState;
3 |
4 | var THEMES = {
5 | "white": 0,
6 | "sepia": 1,
7 | "night": 2
8 | };
9 |
10 | var FAMILY = {
11 | "serif": 0,
12 | "sans": 1
13 | };
14 |
15 | // Save current font settings
16 | function saveFontSettings() {
17 | gitbook.storage.set("fontState", fontState);
18 | update();
19 | }
20 |
21 | // Increase font size
22 | function enlargeFontSize(e) {
23 | e.preventDefault();
24 | if (fontState.size >= 4) return;
25 |
26 | fontState.size++;
27 | saveFontSettings();
28 | };
29 |
30 | // Decrease font size
31 | function reduceFontSize(e) {
32 | e.preventDefault();
33 | if (fontState.size <= 0) return;
34 |
35 | fontState.size--;
36 | saveFontSettings();
37 | };
38 |
39 | // Change font family
40 | function changeFontFamily(index, e) {
41 | e.preventDefault();
42 |
43 | fontState.family = index;
44 | saveFontSettings();
45 | };
46 |
47 | // Change type of color
48 | function changeColorTheme(index, e) {
49 | e.preventDefault();
50 |
51 | var $book = $(".book");
52 |
53 | if (fontState.theme !== 0)
54 | $book.removeClass("color-theme-"+fontState.theme);
55 |
56 | fontState.theme = index;
57 | if (fontState.theme !== 0)
58 | $book.addClass("color-theme-"+fontState.theme);
59 |
60 | saveFontSettings();
61 | };
62 |
63 | function update() {
64 | var $book = gitbook.state.$book;
65 |
66 | $(".font-settings .font-family-list li").removeClass("active");
67 | $(".font-settings .font-family-list li:nth-child("+(fontState.family+1)+")").addClass("active");
68 |
69 | $book[0].className = $book[0].className.replace(/\bfont-\S+/g, '');
70 | $book.addClass("font-size-"+fontState.size);
71 | $book.addClass("font-family-"+fontState.family);
72 |
73 | if(fontState.theme !== 0) {
74 | $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, '');
75 | $book.addClass("color-theme-"+fontState.theme);
76 | }
77 | };
78 |
79 | function init(config) {
80 | var $bookBody, $book;
81 |
82 | //Find DOM elements.
83 | $book = gitbook.state.$book;
84 | $bookBody = $book.find(".book-body");
85 |
86 | // Instantiate font state object
87 | fontState = gitbook.storage.get("fontState", {
88 | size: config.size || 2,
89 | family: FAMILY[config.family || "sans"],
90 | theme: THEMES[config.theme || "white"]
91 | });
92 |
93 | update();
94 | };
95 |
96 |
97 | gitbook.events.bind("start", function(e, config) {
98 | var opts = config.fontsettings;
99 | if (!opts) return;
100 |
101 | // Create buttons in toolbar
102 | gitbook.toolbar.createButton({
103 | icon: 'fa fa-font',
104 | label: 'Font Settings',
105 | className: 'font-settings',
106 | dropdown: [
107 | [
108 | {
109 | text: 'A',
110 | className: 'font-reduce',
111 | onClick: reduceFontSize
112 | },
113 | {
114 | text: 'A',
115 | className: 'font-enlarge',
116 | onClick: enlargeFontSize
117 | }
118 | ],
119 | [
120 | {
121 | text: 'Serif',
122 | onClick: _.partial(changeFontFamily, 0)
123 | },
124 | {
125 | text: 'Sans',
126 | onClick: _.partial(changeFontFamily, 1)
127 | }
128 | ],
129 | [
130 | {
131 | text: 'White',
132 | onClick: _.partial(changeColorTheme, 0)
133 | },
134 | {
135 | text: 'Sepia',
136 | onClick: _.partial(changeColorTheme, 1)
137 | },
138 | {
139 | text: 'Night',
140 | onClick: _.partial(changeColorTheme, 2)
141 | }
142 | ]
143 | ]
144 | });
145 |
146 |
147 | // Init current settings
148 | init(opts);
149 | });
150 | });
151 |
152 |
153 |
--------------------------------------------------------------------------------
/docs/libs/gitbook/js/plugin-sharing.js:
--------------------------------------------------------------------------------
1 | gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) {
2 | var SITES = {
3 | 'github': {
4 | 'label': 'Github',
5 | 'icon': 'fa fa-github',
6 | 'onClick': function(e) {
7 | e.preventDefault();
8 | var repo = $('meta[name="github-repo"]').attr('content');
9 | if (typeof repo === 'undefined') throw("Github repo not defined");
10 | window.open("https://github.com/"+repo);
11 | }
12 | },
13 | 'facebook': {
14 | 'label': 'Facebook',
15 | 'icon': 'fa fa-facebook',
16 | 'onClick': function(e) {
17 | e.preventDefault();
18 | window.open("http://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href));
19 | }
20 | },
21 | 'twitter': {
22 | 'label': 'Twitter',
23 | 'icon': 'fa fa-twitter',
24 | 'onClick': function(e) {
25 | e.preventDefault();
26 | window.open("http://twitter.com/intent/tweet?text="+encodeURIComponent(document.title)+"&url="+encodeURIComponent(location.href)+"&hashtags=rmarkdown,bookdown");
27 | }
28 | },
29 | 'linkedin': {
30 | 'label': 'LinkedIn',
31 | 'icon': 'fa fa-linkedin',
32 | 'onClick': function(e) {
33 | e.preventDefault();
34 | window.open("https://www.linkedin.com/shareArticle?mini=true&url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title));
35 | }
36 | },
37 | 'weibo': {
38 | 'label': 'Weibo',
39 | 'icon': 'fa fa-weibo',
40 | 'onClick': function(e) {
41 | e.preventDefault();
42 | window.open("http://service.weibo.com/share/share.php?content=utf-8&url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title));
43 | }
44 | },
45 | 'instapaper': {
46 | 'label': 'Instapaper',
47 | 'icon': 'fa fa-italic',
48 | 'onClick': function(e) {
49 | e.preventDefault();
50 | window.open("http://www.instapaper.com/text?u="+encodeURIComponent(location.href));
51 | }
52 | },
53 | 'vk': {
54 | 'label': 'VK',
55 | 'icon': 'fa fa-vk',
56 | 'onClick': function(e) {
57 | e.preventDefault();
58 | window.open("http://vkontakte.ru/share.php?url="+encodeURIComponent(location.href));
59 | }
60 | },
61 | 'whatsapp': {
62 | 'label': 'Whatsapp',
63 | 'icon': 'fa fa-whatsapp',
64 | 'onClick': function(e) {
65 | e.preventDefault();
66 | var url = encodeURIComponent(location.href);
67 | window.open((isMobile() ? "whatsapp://send" : "https://web.whatsapp.com/send") + "?text=" + url);
68 | }
69 | },
70 | };
71 |
72 | function isMobile() {
73 | return !!navigator.maxTouchPoints;
74 | }
75 |
76 | gitbook.events.bind("start", function(e, config) {
77 | var opts = config.sharing;
78 | if (!opts) return;
79 |
80 | // Create dropdown menu
81 | var menu = _.chain(opts.all)
82 | .map(function(id) {
83 | var site = SITES[id];
84 | if (!site) return;
85 | return {
86 | text: site.label,
87 | onClick: site.onClick
88 | };
89 | })
90 | .compact()
91 | .value();
92 |
93 | // Create main button with dropdown
94 | if (menu.length > 0) {
95 | gitbook.toolbar.createButton({
96 | icon: 'fa fa-share-alt',
97 | label: 'Share',
98 | position: 'right',
99 | dropdown: [menu]
100 | });
101 | }
102 |
103 | // Direct actions to share
104 | _.each(SITES, function(site, sideId) {
105 | if (!opts[sideId]) return;
106 |
107 | gitbook.toolbar.createButton({
108 | icon: site.icon,
109 | label: site.label,
110 | title: site.label,
111 | position: 'right',
112 | onClick: site.onClick
113 | });
114 | });
115 | });
116 | });
117 |
--------------------------------------------------------------------------------
/docs/libs/header-attrs-2.11/header-attrs.js:
--------------------------------------------------------------------------------
1 | // Pandoc 2.9 adds attributes on both header and div. We remove the former (to
2 | // be compatible with the behavior of Pandoc < 2.8).
3 | document.addEventListener('DOMContentLoaded', function(e) {
4 | var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
5 | var i, h, a;
6 | for (i = 0; i < hs.length; i++) {
7 | h = hs[i];
8 | if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
9 | a = h.attributes;
10 | while (a.length > 0) h.removeAttribute(a[0].name);
11 | }
12 | });
13 |
--------------------------------------------------------------------------------
/docs/libs/header-attrs/header-attrs.js:
--------------------------------------------------------------------------------
1 | // Pandoc 2.9 adds attributes on both header and div. We remove the former (to
2 | // be compatible with the behavior of Pandoc < 2.8).
3 | document.addEventListener('DOMContentLoaded', function(e) {
4 | var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
5 | var i, h, a;
6 | for (i = 0; i < hs.length; i++) {
7 | h = hs[i];
8 | if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
9 | a = h.attributes;
10 | while (a.length > 0) h.removeAttribute(a[0].name);
11 | }
12 | });
13 |
--------------------------------------------------------------------------------
/docs/libs/kePrint-0.0.1/kePrint.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function(){
2 | if (typeof $('[data-toggle="tooltip"]').tooltip === 'function') {
3 | $('[data-toggle="tooltip"]').tooltip();
4 | }
5 | if ($('[data-toggle="popover"]').popover === 'function') {
6 | $('[data-toggle="popover"]').popover();
7 | }
8 | });
9 |
--------------------------------------------------------------------------------
/docs/libs/kePrint/kePrint.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function(){
2 | if (typeof $('[data-toggle="tooltip"]').tooltip === 'function') {
3 | $('[data-toggle="tooltip"]').tooltip();
4 | }
5 | if ($('[data-toggle="popover"]').popover === 'function') {
6 | $('[data-toggle="popover"]').popover();
7 | }
8 | });
9 |
--------------------------------------------------------------------------------
/docs/libs/lightable-0.0.1/lightable.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * lightable v0.0.1
3 | * Copyright 2020 Hao Zhu
4 | * Licensed under MIT (https://github.com/haozhu233/kableExtra/blob/master/LICENSE)
5 | */
6 |
7 | .lightable-minimal {
8 | border-collapse: separate;
9 | border-spacing: 16px 1px;
10 | width: 100%;
11 | margin-bottom: 10px;
12 | }
13 |
14 | .lightable-minimal td {
15 | margin-left: 5px;
16 | margin-right: 5px;
17 | }
18 |
19 | .lightable-minimal th {
20 | margin-left: 5px;
21 | margin-right: 5px;
22 | }
23 |
24 | .lightable-minimal thead tr:last-child th {
25 | border-bottom: 2px solid #00000050;
26 | empty-cells: hide;
27 |
28 | }
29 |
30 | .lightable-minimal tbody tr:first-child td {
31 | padding-top: 0.5em;
32 | }
33 |
34 | .lightable-minimal.lightable-hover tbody tr:hover {
35 | background-color: #f5f5f5;
36 | }
37 |
38 | .lightable-minimal.lightable-striped tbody tr:nth-child(even) {
39 | background-color: #f5f5f5;
40 | }
41 |
42 | .lightable-classic {
43 | border-top: 0.16em solid #111111;
44 | border-bottom: 0.16em solid #111111;
45 | width: 100%;
46 | margin-bottom: 10px;
47 | margin: 10px 5px;
48 | }
49 |
50 | .lightable-classic tfoot tr td {
51 | border: 0;
52 | }
53 |
54 | .lightable-classic tfoot tr:first-child td {
55 | border-top: 0.14em solid #111111;
56 | }
57 |
58 | .lightable-classic caption {
59 | color: #222222;
60 | }
61 |
62 | .lightable-classic td {
63 | padding-left: 5px;
64 | padding-right: 5px;
65 | color: #222222;
66 | }
67 |
68 | .lightable-classic th {
69 | padding-left: 5px;
70 | padding-right: 5px;
71 | font-weight: normal;
72 | color: #222222;
73 | }
74 |
75 | .lightable-classic thead tr:last-child th {
76 | border-bottom: 0.10em solid #111111;
77 | }
78 |
79 | .lightable-classic.lightable-hover tbody tr:hover {
80 | background-color: #F9EEC1;
81 | }
82 |
83 | .lightable-classic.lightable-striped tbody tr:nth-child(even) {
84 | background-color: #f5f5f5;
85 | }
86 |
87 | .lightable-classic-2 {
88 | border-top: 3px double #111111;
89 | border-bottom: 3px double #111111;
90 | width: 100%;
91 | margin-bottom: 10px;
92 | }
93 |
94 | .lightable-classic-2 tfoot tr td {
95 | border: 0;
96 | }
97 |
98 | .lightable-classic-2 tfoot tr:first-child td {
99 | border-top: 3px double #111111;
100 | }
101 |
102 | .lightable-classic-2 caption {
103 | color: #222222;
104 | }
105 |
106 | .lightable-classic-2 td {
107 | padding-left: 5px;
108 | padding-right: 5px;
109 | color: #222222;
110 | }
111 |
112 | .lightable-classic-2 th {
113 | padding-left: 5px;
114 | padding-right: 5px;
115 | font-weight: normal;
116 | color: #222222;
117 | }
118 |
119 | .lightable-classic-2 tbody tr:last-child td {
120 | border-bottom: 3px double #111111;
121 | }
122 |
123 | .lightable-classic-2 thead tr:last-child th {
124 | border-bottom: 1px solid #111111;
125 | }
126 |
127 | .lightable-classic-2.lightable-hover tbody tr:hover {
128 | background-color: #F9EEC1;
129 | }
130 |
131 | .lightable-classic-2.lightable-striped tbody tr:nth-child(even) {
132 | background-color: #f5f5f5;
133 | }
134 |
135 | .lightable-material {
136 | min-width: 100%;
137 | white-space: nowrap;
138 | table-layout: fixed;
139 | font-family: Roboto, sans-serif;
140 | border: 1px solid #EEE;
141 | border-collapse: collapse;
142 | margin-bottom: 10px;
143 | }
144 |
145 | .lightable-material tfoot tr td {
146 | border: 0;
147 | }
148 |
149 | .lightable-material tfoot tr:first-child td {
150 | border-top: 1px solid #EEE;
151 | }
152 |
153 | .lightable-material th {
154 | height: 56px;
155 | padding-left: 16px;
156 | padding-right: 16px;
157 | }
158 |
159 | .lightable-material td {
160 | height: 52px;
161 | padding-left: 16px;
162 | padding-right: 16px;
163 | border-top: 1px solid #eeeeee;
164 | }
165 |
166 | .lightable-material.lightable-hover tbody tr:hover {
167 | background-color: #f5f5f5;
168 | }
169 |
170 | .lightable-material.lightable-striped tbody tr:nth-child(even) {
171 | background-color: #f5f5f5;
172 | }
173 |
174 | .lightable-material.lightable-striped tbody td {
175 | border: 0;
176 | }
177 |
178 | .lightable-material.lightable-striped thead tr:last-child th {
179 | border-bottom: 1px solid #ddd;
180 | }
181 |
182 | .lightable-material-dark {
183 | min-width: 100%;
184 | white-space: nowrap;
185 | table-layout: fixed;
186 | font-family: Roboto, sans-serif;
187 | border: 1px solid #FFFFFF12;
188 | border-collapse: collapse;
189 | margin-bottom: 10px;
190 | background-color: #363640;
191 | }
192 |
193 | .lightable-material-dark tfoot tr td {
194 | border: 0;
195 | }
196 |
197 | .lightable-material-dark tfoot tr:first-child td {
198 | border-top: 1px solid #FFFFFF12;
199 | }
200 |
201 | .lightable-material-dark th {
202 | height: 56px;
203 | padding-left: 16px;
204 | padding-right: 16px;
205 | color: #FFFFFF60;
206 | }
207 |
208 | .lightable-material-dark td {
209 | height: 52px;
210 | padding-left: 16px;
211 | padding-right: 16px;
212 | color: #FFFFFF;
213 | border-top: 1px solid #FFFFFF12;
214 | }
215 |
216 | .lightable-material-dark.lightable-hover tbody tr:hover {
217 | background-color: #FFFFFF12;
218 | }
219 |
220 | .lightable-material-dark.lightable-striped tbody tr:nth-child(even) {
221 | background-color: #FFFFFF12;
222 | }
223 |
224 | .lightable-material-dark.lightable-striped tbody td {
225 | border: 0;
226 | }
227 |
228 | .lightable-material-dark.lightable-striped thead tr:last-child th {
229 | border-bottom: 1px solid #FFFFFF12;
230 | }
231 |
232 | .lightable-paper {
233 | width: 100%;
234 | margin-bottom: 10px;
235 | color: #444;
236 | }
237 |
238 | .lightable-paper tfoot tr td {
239 | border: 0;
240 | }
241 |
242 | .lightable-paper tfoot tr:first-child td {
243 | border-top: 1px solid #00000020;
244 | }
245 |
246 | .lightable-paper thead tr:last-child th {
247 | color: #666;
248 | vertical-align: bottom;
249 | border-bottom: 1px solid #00000020;
250 | line-height: 1.15em;
251 | padding: 10px 5px;
252 | }
253 |
254 | .lightable-paper td {
255 | vertical-align: middle;
256 | border-bottom: 1px solid #00000010;
257 | line-height: 1.15em;
258 | padding: 7px 5px;
259 | }
260 |
261 | .lightable-paper.lightable-hover tbody tr:hover {
262 | background-color: #F9EEC1;
263 | }
264 |
265 | .lightable-paper.lightable-striped tbody tr:nth-child(even) {
266 | background-color: #00000008;
267 | }
268 |
269 | .lightable-paper.lightable-striped tbody td {
270 | border: 0;
271 | }
272 |
273 |
--------------------------------------------------------------------------------
/docs/libs/lightable/lightable.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * lightable v0.0.1
3 | * Copyright 2020 Hao Zhu
4 | * Licensed under MIT (https://github.com/haozhu233/kableExtra/blob/master/LICENSE)
5 | */
6 |
7 | .lightable-minimal {
8 | border-collapse: separate;
9 | border-spacing: 16px 1px;
10 | width: 100%;
11 | margin-bottom: 10px;
12 | }
13 |
14 | .lightable-minimal td {
15 | margin-left: 5px;
16 | margin-right: 5px;
17 | }
18 |
19 | .lightable-minimal th {
20 | margin-left: 5px;
21 | margin-right: 5px;
22 | }
23 |
24 | .lightable-minimal thead tr:last-child th {
25 | border-bottom: 2px solid #00000050;
26 | empty-cells: hide;
27 |
28 | }
29 |
30 | .lightable-minimal tbody tr:first-child td {
31 | padding-top: 0.5em;
32 | }
33 |
34 | .lightable-minimal.lightable-hover tbody tr:hover {
35 | background-color: #f5f5f5;
36 | }
37 |
38 | .lightable-minimal.lightable-striped tbody tr:nth-child(even) {
39 | background-color: #f5f5f5;
40 | }
41 |
42 | .lightable-classic {
43 | border-top: 0.16em solid #111111;
44 | border-bottom: 0.16em solid #111111;
45 | width: 100%;
46 | margin-bottom: 10px;
47 | margin: 10px 5px;
48 | }
49 |
50 | .lightable-classic tfoot tr td {
51 | border: 0;
52 | }
53 |
54 | .lightable-classic tfoot tr:first-child td {
55 | border-top: 0.14em solid #111111;
56 | }
57 |
58 | .lightable-classic caption {
59 | color: #222222;
60 | }
61 |
62 | .lightable-classic td {
63 | padding-left: 5px;
64 | padding-right: 5px;
65 | color: #222222;
66 | }
67 |
68 | .lightable-classic th {
69 | padding-left: 5px;
70 | padding-right: 5px;
71 | font-weight: normal;
72 | color: #222222;
73 | }
74 |
75 | .lightable-classic thead tr:last-child th {
76 | border-bottom: 0.10em solid #111111;
77 | }
78 |
79 | .lightable-classic.lightable-hover tbody tr:hover {
80 | background-color: #F9EEC1;
81 | }
82 |
83 | .lightable-classic.lightable-striped tbody tr:nth-child(even) {
84 | background-color: #f5f5f5;
85 | }
86 |
87 | .lightable-classic-2 {
88 | border-top: 3px double #111111;
89 | border-bottom: 3px double #111111;
90 | width: 100%;
91 | margin-bottom: 10px;
92 | }
93 |
94 | .lightable-classic-2 tfoot tr td {
95 | border: 0;
96 | }
97 |
98 | .lightable-classic-2 tfoot tr:first-child td {
99 | border-top: 3px double #111111;
100 | }
101 |
102 | .lightable-classic-2 caption {
103 | color: #222222;
104 | }
105 |
106 | .lightable-classic-2 td {
107 | padding-left: 5px;
108 | padding-right: 5px;
109 | color: #222222;
110 | }
111 |
112 | .lightable-classic-2 th {
113 | padding-left: 5px;
114 | padding-right: 5px;
115 | font-weight: normal;
116 | color: #222222;
117 | }
118 |
119 | .lightable-classic-2 tbody tr:last-child td {
120 | border-bottom: 3px double #111111;
121 | }
122 |
123 | .lightable-classic-2 thead tr:last-child th {
124 | border-bottom: 1px solid #111111;
125 | }
126 |
127 | .lightable-classic-2.lightable-hover tbody tr:hover {
128 | background-color: #F9EEC1;
129 | }
130 |
131 | .lightable-classic-2.lightable-striped tbody tr:nth-child(even) {
132 | background-color: #f5f5f5;
133 | }
134 |
135 | .lightable-material {
136 | min-width: 100%;
137 | white-space: nowrap;
138 | table-layout: fixed;
139 | font-family: Roboto, sans-serif;
140 | border: 1px solid #EEE;
141 | border-collapse: collapse;
142 | margin-bottom: 10px;
143 | }
144 |
145 | .lightable-material tfoot tr td {
146 | border: 0;
147 | }
148 |
149 | .lightable-material tfoot tr:first-child td {
150 | border-top: 1px solid #EEE;
151 | }
152 |
153 | .lightable-material th {
154 | height: 56px;
155 | padding-left: 16px;
156 | padding-right: 16px;
157 | }
158 |
159 | .lightable-material td {
160 | height: 52px;
161 | padding-left: 16px;
162 | padding-right: 16px;
163 | border-top: 1px solid #eeeeee;
164 | }
165 |
166 | .lightable-material.lightable-hover tbody tr:hover {
167 | background-color: #f5f5f5;
168 | }
169 |
170 | .lightable-material.lightable-striped tbody tr:nth-child(even) {
171 | background-color: #f5f5f5;
172 | }
173 |
174 | .lightable-material.lightable-striped tbody td {
175 | border: 0;
176 | }
177 |
178 | .lightable-material.lightable-striped thead tr:last-child th {
179 | border-bottom: 1px solid #ddd;
180 | }
181 |
182 | .lightable-material-dark {
183 | min-width: 100%;
184 | white-space: nowrap;
185 | table-layout: fixed;
186 | font-family: Roboto, sans-serif;
187 | border: 1px solid #FFFFFF12;
188 | border-collapse: collapse;
189 | margin-bottom: 10px;
190 | background-color: #363640;
191 | }
192 |
193 | .lightable-material-dark tfoot tr td {
194 | border: 0;
195 | }
196 |
197 | .lightable-material-dark tfoot tr:first-child td {
198 | border-top: 1px solid #FFFFFF12;
199 | }
200 |
201 | .lightable-material-dark th {
202 | height: 56px;
203 | padding-left: 16px;
204 | padding-right: 16px;
205 | color: #FFFFFF60;
206 | }
207 |
208 | .lightable-material-dark td {
209 | height: 52px;
210 | padding-left: 16px;
211 | padding-right: 16px;
212 | color: #FFFFFF;
213 | border-top: 1px solid #FFFFFF12;
214 | }
215 |
216 | .lightable-material-dark.lightable-hover tbody tr:hover {
217 | background-color: #FFFFFF12;
218 | }
219 |
220 | .lightable-material-dark.lightable-striped tbody tr:nth-child(even) {
221 | background-color: #FFFFFF12;
222 | }
223 |
224 | .lightable-material-dark.lightable-striped tbody td {
225 | border: 0;
226 | }
227 |
228 | .lightable-material-dark.lightable-striped thead tr:last-child th {
229 | border-bottom: 1px solid #FFFFFF12;
230 | }
231 |
232 | .lightable-paper {
233 | width: 100%;
234 | margin-bottom: 10px;
235 | color: #444;
236 | }
237 |
238 | .lightable-paper tfoot tr td {
239 | border: 0;
240 | }
241 |
242 | .lightable-paper tfoot tr:first-child td {
243 | border-top: 1px solid #00000020;
244 | }
245 |
246 | .lightable-paper thead tr:last-child th {
247 | color: #666;
248 | vertical-align: bottom;
249 | border-bottom: 1px solid #00000020;
250 | line-height: 1.15em;
251 | padding: 10px 5px;
252 | }
253 |
254 | .lightable-paper td {
255 | vertical-align: middle;
256 | border-bottom: 1px solid #00000010;
257 | line-height: 1.15em;
258 | padding: 7px 5px;
259 | }
260 |
261 | .lightable-paper.lightable-hover tbody tr:hover {
262 | background-color: #F9EEC1;
263 | }
264 |
265 | .lightable-paper.lightable-striped tbody tr:nth-child(even) {
266 | background-color: #00000008;
267 | }
268 |
269 | .lightable-paper.lightable-striped tbody td {
270 | border: 0;
271 | }
272 |
273 |
--------------------------------------------------------------------------------
/docs/reference-keys.txt:
--------------------------------------------------------------------------------
1 | fig:02imgVizArtistsUSA
2 | fig:02imgVizDoctorWho
3 | fig:02imgVizCoffeeRatings
4 | fig:02ggplotUniqueBabynamesBasic
5 | fig:02ggplotUniqueBabynamesExplorative
6 | fig:02ggplotUniqueBabynamesStorytelling
7 | fig:02imgFormatLongTidyWide
8 | fig:02ggplotAestheticsData
9 | fig:02ggplotLayersGeomsStats
10 | fig:02ggplotLayersCombinedPenguins
11 | fig:03imgDataComparison
12 | fig:03imgDataOverviewVars
13 | tab:03tableBikesData
14 | fig:04ggplotBasic
15 | fig:04ggplotBasicSmooth
16 | fig:04ggplotBasicColor
17 | fig:04ggplotLocalAesthetics
18 | fig:04ggplotBasicAdjustLayers
19 | fig:04ggplotFacet
20 | fig:04ggplotFacetGrid
21 | fig:04ggplotLabelsAxes
22 | fig:04ggplotColors
23 | fig:04ggplotLabels
24 | fig:04legendLabels
25 | fig:04ggplotThemeComplete
26 | fig:04ggplotThemeAdjustments
27 | fig:05basicPlot
28 | fig:05themeMinimal
29 | fig:05themeBaseFamily
30 | fig:05themeBaseSize
31 | fig:05textHierarchy
32 | fig:05titleAlign
33 | fig:05barsTitlePosition
34 | fig:06examplePlotThemeUpdate
35 | fig:06workflowBatchSubsets
36 | fig:06workflowBatchDataVar
37 | fig:07layerScatter
38 | fig:07layerPredefinedDefaultBars
39 | fig:07layerPredefinedDefaultSmooth
40 | fig:07layerPredefinedDefaultVariants
41 | fig:07layerPredefinedCustomBars
42 | fig:07layerPredefinedCustomBarsDodgeVars
43 | fig:unnamed-chunk-16
44 | fig:07layerPredefinedCustomSmooth
45 | fig:07layerPredefinedCustomPointsCount
46 | fig:07layerTypeBoxplot
47 | fig:07layerPositionalTypeBoxplotCut2
48 | fig:07layerPositionalTypeHistogram
49 | fig:06customThemeApplied
50 | fig:06customThemeModified
51 | introduction
52 | communication
53 | coding
54 | why
55 | grammar
56 | ggplot
57 | components
58 | key-components
59 | data
60 | aesthetics
61 | layers
62 | additional-components
63 | scales
64 | coords
65 | facets
66 | themes
67 | get-started
68 | dataset
69 | rstats
70 | import
71 | workflows
72 | inspect
73 | classes
74 | preparation
75 | dplyr
76 | tidyr
77 | walkthrough
78 | prep-ggplot
79 | basics
80 | combined-layers
81 | map-aesthetics
82 | set-properties
83 | faceting
84 | axis-scaling
85 | color-scaling
86 | label-adjustment
87 | complete-themes
88 | custom-theming
89 | tips-to-improve-your-ggplot-design
90 | use-a-different-theme
91 | use-a-custom-font
92 | increase-the-font-sizes
93 | create-text-hierarchy
94 | modify-the-legend
95 | align-titles-and-captions
96 | add-some-white-space
97 | tips-to-improve-your-ggplot-workflow
98 | save-ggplot-output-with-the-correct-dimensions
99 | display-ggplot-output-with-the-correct-dimensions
100 | make-fonts-work
101 | set-your-ggplot-theme-globally
102 | automating-plots-batch-operations
103 | working-with-layers
104 | predefined-layers
105 | geometrical-versus-statistical-layers
106 | layer-variants
107 | changing-layer-defaults
108 | positional-adjustments
109 | modify-transformations-and-geometries
110 | positional-aesthetics
111 | know-your-data-types
112 | multiple-positional-aesthetics
113 | statistical-summaries
114 | working-with-colors
115 | working-with-text
116 | working-with-themes
117 | create-your-own-theme
118 | advanced-examples
119 | more-to-say
120 |
--------------------------------------------------------------------------------
/img/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/.DS_Store
--------------------------------------------------------------------------------
/img/bird-collisions-jake-kaupp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/bird-collisions-jake-kaupp.png
--------------------------------------------------------------------------------
/img/setup-data-comparison-all-dodge.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/setup-data-comparison-all-dodge.pdf
--------------------------------------------------------------------------------
/img/setup-data-comparison-all-dodge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/setup-data-comparison-all-dodge.png
--------------------------------------------------------------------------------
/img/setup-data-comparison-all-stack.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/setup-data-comparison-all-stack.pdf
--------------------------------------------------------------------------------
/img/setup-data-comparison-all-stack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/setup-data-comparison-all-stack.png
--------------------------------------------------------------------------------
/img/setup-data-comparison-raw-aggregated.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/setup-data-comparison-raw-aggregated.pdf
--------------------------------------------------------------------------------
/img/setup-data-comparison-raw-aggregated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/setup-data-comparison-raw-aggregated.png
--------------------------------------------------------------------------------
/img/showcase/airports-movement-lee-olney.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/airports-movement-lee-olney.png
--------------------------------------------------------------------------------
/img/showcase/artists-usa-lee-olney.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/artists-usa-lee-olney.png
--------------------------------------------------------------------------------
/img/showcase/bes-cheetah-map-rcarto.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/bes-cheetah-map-rcarto.png
--------------------------------------------------------------------------------
/img/showcase/carbon-foodprint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/carbon-foodprint.png
--------------------------------------------------------------------------------
/img/showcase/cartogram-mortality.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/cartogram-mortality.png
--------------------------------------------------------------------------------
/img/showcase/coffee-ratings-cedric-scherer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/coffee-ratings-cedric-scherer.png
--------------------------------------------------------------------------------
/img/showcase/cran-packages-torsten-sprenger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/cran-packages-torsten-sprenger.png
--------------------------------------------------------------------------------
/img/showcase/deforestation-georgios-karamanis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/deforestation-georgios-karamanis.png
--------------------------------------------------------------------------------
/img/showcase/distance-roads-germany.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/distance-roads-germany.png
--------------------------------------------------------------------------------
/img/showcase/doctor-who-tanya-shapiro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/doctor-who-tanya-shapiro.png
--------------------------------------------------------------------------------
/img/showcase/european-energy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/european-energy.png
--------------------------------------------------------------------------------
/img/showcase/netflix-originals-tanya-shapiro.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/netflix-originals-tanya-shapiro.jpeg
--------------------------------------------------------------------------------
/img/showcase/palmer-penguins.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/palmer-penguins.png
--------------------------------------------------------------------------------
/img/showcase/slavery-juneteenth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/slavery-juneteenth.png
--------------------------------------------------------------------------------
/img/showcase/speech-speed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/speech-speed.png
--------------------------------------------------------------------------------
/img/showcase/spotify-genres-torsten-sprenger.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/spotify-genres-torsten-sprenger.jpeg
--------------------------------------------------------------------------------
/img/showcase/tour-de-france-georgios-karamanis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/tour-de-france-georgios-karamanis.png
--------------------------------------------------------------------------------
/img/showcase/xmen-comics.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/showcase/xmen-comics.png
--------------------------------------------------------------------------------
/img/table-format-long-tidy-wide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/z3tt/graphic-design-ggplot2/f54883e97c789b08acd7ac15eb9b61145ea94321/img/table-format-long-tidy-wide.png
--------------------------------------------------------------------------------
/latex/after_body.tex:
--------------------------------------------------------------------------------
1 | \backmatter
2 | \printindex
3 |
--------------------------------------------------------------------------------
/latex/before_body.tex:
--------------------------------------------------------------------------------
1 | % you may need to leave a few empty pages before the dedication page
2 |
3 | %\cleardoublepage\newpage\thispagestyle{empty}\null
4 | %\cleardoublepage\newpage\thispagestyle{empty}\null
5 | %\cleardoublepage\newpage
6 | \thispagestyle{empty}
7 |
8 | \begin{center}
9 | To my family,thank you for all your support and love.
10 | %\includegraphics{images/dedication.pdf}
11 | \end{center}
12 |
13 | \setlength{\abovedisplayskip}{-5pt}
14 | \setlength{\abovedisplayshortskip}{-5pt}
15 |
--------------------------------------------------------------------------------
/latex/preamble.tex:
--------------------------------------------------------------------------------
1 | \usepackage{booktabs}
2 | \usepackage{longtable}
3 | \usepackage[bf,singlelinecheck=off]{caption}
4 | \usepackage[scale=.8]{sourcecodepro}
5 |
6 | \usepackage{framed,color}
7 | \definecolor{shadecolor}{RGB}{248,248,248}
8 |
9 | \renewcommand{\textfraction}{0.05}
10 | \renewcommand{\topfraction}{0.8}
11 | \renewcommand{\bottomfraction}{0.8}
12 | \renewcommand{\floatpagefraction}{0.75}
13 |
14 | \renewenvironment{quote}{\begin{VF}}{\end{VF}}
15 | \usepackage{hyperref}
16 | \let\oldhref\href
17 | \renewcommand{\href}[2]{#2\footnote{\url{#1}}}
18 |
19 | \makeatletter
20 | \newenvironment{kframe}{%
21 | \medskip{}
22 | \setlength{\fboxsep}{.8em}
23 | \def\at@end@of@kframe{}%
24 | \ifinner\ifhmode%
25 | \def\at@end@of@kframe{\end{minipage}}%
26 | \begin{minipage}{\columnwidth}%
27 | \fi\fi%
28 | \def\FrameCommand##1{\hskip\@totalleftmargin \hskip-\fboxsep
29 | \colorbox{shadecolor}{##1}\hskip-\fboxsep
30 | % There is no \\@totalrightmargin, so:
31 | \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}%
32 | \MakeFramed {\advance\hsize-\width
33 | \@totalleftmargin\z@ \linewidth\hsize
34 | \@setminipage}}%
35 | {\par\unskip\endMakeFramed%
36 | \at@end@of@kframe}
37 | \makeatother
38 |
39 | \renewenvironment{Shaded}{\begin{kframe}}{\end{kframe}}
40 |
41 | \usepackage{makeidx}
42 | \makeindex
43 |
44 | \urlstyle{tt}
45 |
46 | \usepackage{amsthm}
47 | \makeatletter
48 | \def\thm@space@setup{%
49 | \thm@preskip=8pt plus 2pt minus 4pt
50 | \thm@postskip=\thm@preskip
51 | }
52 | \makeatother
53 |
54 | \frontmatter
55 |
--------------------------------------------------------------------------------
/packages.bib:
--------------------------------------------------------------------------------
1 | @Manual{R-base,
2 | title = {R: A Language and Environment for Statistical Computing},
3 | author = {{R Core Team}},
4 | organization = {R Foundation for Statistical Computing},
5 | address = {Vienna, Austria},
6 | year = {2023},
7 | url = {https://www.R-project.org/},
8 | }
9 |
10 | @Manual{R-bookdown,
11 | title = {bookdown: Authoring Books and Technical Documents with R Markdown},
12 | author = {Yihui Xie},
13 | year = {2023},
14 | note = {R package version 0.34},
15 | url = {https://CRAN.R-project.org/package=bookdown},
16 | }
17 |
18 | @Manual{R-dplyr,
19 | title = {dplyr: A Grammar of Data Manipulation},
20 | author = {Hadley Wickham and Romain François and Lionel Henry and Kirill Müller and Davis Vaughan},
21 | year = {2023},
22 | note = {R package version 1.1.2},
23 | url = {https://CRAN.R-project.org/package=dplyr},
24 | }
25 |
26 | @Manual{R-ggplot2,
27 | title = {ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics},
28 | author = {Hadley Wickham and Winston Chang and Lionel Henry and Thomas Lin Pedersen and Kohske Takahashi and Claus Wilke and Kara Woo and Hiroaki Yutani and Dewey Dunnington},
29 | year = {2023},
30 | note = {R package version 3.4.2},
31 | url = {https://CRAN.R-project.org/package=ggplot2},
32 | }
33 |
34 | @Manual{R-knitr,
35 | title = {knitr: A General-Purpose Package for Dynamic Report Generation in R},
36 | author = {Yihui Xie},
37 | year = {2023},
38 | note = {R package version 1.42},
39 | url = {https://yihui.org/knitr/},
40 | }
41 |
42 | @Manual{R-patchwork,
43 | title = {patchwork: The Composer of Plots},
44 | author = {Thomas Lin Pedersen},
45 | year = {2022},
46 | note = {R package version 1.1.2},
47 | url = {https://CRAN.R-project.org/package=patchwork},
48 | }
49 |
50 | @Manual{R-rmarkdown,
51 | title = {rmarkdown: Dynamic Documents for R},
52 | author = {JJ Allaire and Yihui Xie and Jonathan McPherson and Javier Luraschi and Kevin Ushey and Aron Atkins and Hadley Wickham and Joe Cheng and Winston Chang and Richard Iannone},
53 | year = {2023},
54 | note = {R package version 2.20},
55 | url = {https://CRAN.R-project.org/package=rmarkdown},
56 | }
57 |
58 | @Manual{R-systemfonts,
59 | title = {systemfonts: System Native Font Finding},
60 | author = {Thomas Lin Pedersen and Jeroen Ooms and Devon Govett},
61 | year = {2022},
62 | note = {R package version 1.0.4},
63 | url = {https://github.com/r-lib/systemfonts},
64 | }
65 |
66 | @Book{bookdown2016,
67 | title = {bookdown: Authoring Books and Technical Documents with {R} Markdown},
68 | author = {Yihui Xie},
69 | publisher = {Chapman and Hall/CRC},
70 | address = {Boca Raton, Florida},
71 | year = {2016},
72 | isbn = {978-1138700109},
73 | url = {https://bookdown.org/yihui/bookdown},
74 | }
75 |
76 | @Book{ggplot22016,
77 | author = {Hadley Wickham},
78 | title = {ggplot2: Elegant Graphics for Data Analysis},
79 | publisher = {Springer-Verlag New York},
80 | year = {2016},
81 | isbn = {978-3-319-24277-4},
82 | url = {https://ggplot2.tidyverse.org},
83 | }
84 |
85 | @Book{knitr2015,
86 | title = {Dynamic Documents with {R} and knitr},
87 | author = {Yihui Xie},
88 | publisher = {Chapman and Hall/CRC},
89 | address = {Boca Raton, Florida},
90 | year = {2015},
91 | edition = {2nd},
92 | note = {ISBN 978-1498716963},
93 | url = {https://yihui.org/knitr/},
94 | }
95 |
96 | @InCollection{knitr2014,
97 | booktitle = {Implementing Reproducible Computational Research},
98 | editor = {Victoria Stodden and Friedrich Leisch and Roger D. Peng},
99 | title = {knitr: A Comprehensive Tool for Reproducible Research in {R}},
100 | author = {Yihui Xie},
101 | publisher = {Chapman and Hall/CRC},
102 | year = {2014},
103 | note = {ISBN 978-1466561595},
104 | }
105 |
106 | @Book{rmarkdown2018,
107 | title = {R Markdown: The Definitive Guide},
108 | author = {Yihui Xie and J.J. Allaire and Garrett Grolemund},
109 | publisher = {Chapman and Hall/CRC},
110 | address = {Boca Raton, Florida},
111 | year = {2018},
112 | note = {ISBN 9781138359338},
113 | url = {https://bookdown.org/yihui/rmarkdown},
114 | }
115 |
116 | @Book{rmarkdown2020,
117 | title = {R Markdown Cookbook},
118 | author = {Yihui Xie and Christophe Dervieux and Emily Riederer},
119 | publisher = {Chapman and Hall/CRC},
120 | address = {Boca Raton, Florida},
121 | year = {2020},
122 | note = {ISBN 9780367563837},
123 | url = {https://bookdown.org/yihui/rmarkdown-cookbook},
124 | }
125 |
126 |
--------------------------------------------------------------------------------
/src/prerequisites.R:
--------------------------------------------------------------------------------
1 | #bikes <- readr::read_csv("https://www.cedricscherer.com/data/london-bikes.csv", col_types = "Dcfffilllddddfc")
2 | bikes <- readr::read_csv(here::here("data", "london-bikes.csv"), col_types = "Dcfffilllddddfc")
3 |
4 | library(dplyr)
5 | library(ggplot2)
6 | library(patchwork)
7 |
8 | source(here::here("src", "theme.R"))
9 | theme_set(theme_custom())
10 |
11 | colors <- c(
12 | "#28A87F",
13 | "#FFA200",
14 | "#9C4BFF",
15 | "#00B3FF",
16 | "#FF5477",
17 | "#8c8c8c"
18 | )
19 |
20 | colors_named <- colors
21 | names(colors_named) <- c("green", "orange", "purple", "blue", "red", "grey")
22 |
23 | #col_period <- c(prismatic::clr_desaturate(prismatic::clr_darken(colors[c("orange", "purple")], .05), .5))
24 | #names(col_period) <- c("day", "night")
25 | #col_period <- c(day = "#e9b86a", night = "#a6aafa")
26 | col_period <- c(day = "#FFA200", night = "#757bc7") #fbb200
27 |
28 | col_season <- c(
29 | winter = "#00B3FF",
30 | spring = "#28A87F",
31 | summer = "#FFA200",
32 | autumn = "#ab7685"
33 | )
34 |
--------------------------------------------------------------------------------
/src/theme.R:
--------------------------------------------------------------------------------
1 | invisible(library(ggplot2))
2 | invisible(library(systemfonts))
3 |
4 | systemfonts::register_variant(
5 | name = "Asap Condensed Medium",
6 | family = "Asap Condensed",
7 | weight = "medium"
8 | )
9 |
10 | theme_custom <- function(base_size = 14, base_family = "Asap Condensed",
11 | base_line_size = base_size/22, base_rect_size = base_size/22)
12 | {
13 | family_medium <- base_family
14 | if (base_family == "Asap Condensed") family_medium <- "Asap Condensed Medium"
15 |
16 |
17 | theme_bw(base_size = base_size, base_family = base_family,
18 | base_line_size = .8, base_rect_size = base_rect_size) %+replace%
19 | theme(
20 | panel.background = element_rect(fill = "grey96", color = "white"),
21 | #panel.border = element_rect(color = "white", fill = NA),
22 | panel.border = element_rect(color = NA, fill = NA),
23 | panel.grid.major = element_line(color = "white"),
24 | panel.grid.minor = element_blank(),
25 | panel.spacing = grid::unit(1.5, "lines"),
26 | axis.text = element_text(size = rel(.8), color = "grey28"),
27 | axis.title.x = element_text(size = rel(1), family = family_medium, color = "grey10", margin = margin(t = .3 * base_size)),
28 | axis.title.y = element_text(size = rel(1), family = family_medium, color = "grey10", angle = 90, margin = margin(r = .6 * base_size)),
29 | axis.ticks = element_line(color = "grey70"),
30 | axis.ticks.length = grid::unit(.3, "lines"),
31 | strip.text = element_text(face = "bold", color = "grey10"),
32 | strip.text.x = element_text(margin = margin(b = .5 * base_size), size = rel(1.25)),
33 | strip.text.y = element_text(margin = margin(l = .5 * base_size), size = rel(1.25)),
34 | legend.title = element_text(size = rel(1), family = family_medium, color = "grey10", hjust = 0),
35 | legend.margin = margin(c(0, 0, 0, 0)),
36 | plot.tag = element_text(size = rel(1.25), color = "grey10"),
37 | plot.title = element_text(size = rel(1.5), face = "bold", hjust = 0, margin = margin(b = 1.25 * base_size)),
38 | plot.subtitle = element_text(size = rel(1.1), margin = margin(t = -base_size, b = 1.25 * base_size)),
39 | plot.caption = element_text(size = rel(.8), color = "grey28", hjust = 1, margin = margin(t = .9 * base_size)),
40 | plot.title.position = "plot",
41 | plot.caption.position = "plot",
42 | plot.margin = margin(rep(1.5, 4)),
43 | complete = TRUE
44 | )
45 | }
46 |
--------------------------------------------------------------------------------