-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpreface.qmd
28 lines (17 loc) · 2.09 KB
/
preface.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Preface {.unnumbered}
```{r}
#| echo: false
#| message: false
#| results: asis
source("warning.R")
```
"The tidyverse is an opinionated collection of R packages designed for data science." <https://www.tidyverse.org/>
This book is an opinionated compendium of R packages that extend **ggplot2** (part of the **tidyverse**). It doesn’t try to be complete as the ecosystem is both wide and deep. The aim is to celebrate the great community that is creating fun and useful new ways to visualize data. And since we’re talking about data visualization, show what all is possible.
The book is about ggplot2 extension packages. But it has been important to me that I design the structure and contents concept(s) first, and package(s) second.
## Landscape {#sec-landscape}
Look at the figure. The amount of R packages *depending*[^preface-1], *importing*[^preface-2], or *suggesting*[^preface-3] [@wickham2023c] ggplot2 is increasing:
[^preface-1]: "Depends: Listing a package in \[...\] Depends \[...\] ensures that it’s installed when needed. \[...\] A package you list in Depends will be attached when your package is attached."
[^preface-2]: "Imports: packages listed here must be present for your package to work. Any time your package is installed, those packages will also be installed, if not already present. devtools::load_all() also checks that all packages in Imports are installed."
[^preface-3]: "Suggests: your package can use these packages, but doesn’t require them. You might use suggested packages for example datasets, to run tests, build vignettes, or maybe there’s only one function that needs the package."
![**ggplot2** dependencies between 2007-2023](img/ggplot2_dependencies_2023-12-31.png){.lightbox}
Among these thousands of packages are also hundreds of ggplot2 extensions. And these are the ones that are on [CRAN](https://cran.r-project.org/) (The Comprehensive R Archive Network). There are also packages on [GitHub](https://github.com/) and similar platforms. Packages that no one have yet added to CRAN. Or those that have once been there, but CRAN has since archived for one reason or another.