├── .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 | --------------------------------------------------------------------------------