--- title: "ggplot 101" output: html_notebook: toc: yes toc_depth: 2 toc_float: yes --- ```{css echo = FALSE} h1,h2,h3 {font-weight:bold;} h1 {font-size:24px;} h2 {font-size:20px;} h3 {font-size:16px;} ``` \ In this notebook, we'll get some practice making plots with ggplot using the [Palmer Penguins](https://allisonhorst.github.io/palmerpenguins/) dataset. # Setup Load packages and set conflicted preferences: ```{r chunk01, message = FALSE} library(dplyr) library(ggplot2) ## Load the conflicted package library(conflicted) conflict_prefer("filter", "dplyr", quiet = TRUE) conflict_prefer("count", "dplyr", quiet = TRUE) conflict_prefer("select", "dplyr", quiet = TRUE) conflict_prefer("arrange", "dplyr", quiet = TRUE) ``` \ Next, we load the Palmer Penguins data frame: ```{r chunk02} library(palmerpenguins) glimpse(penguins) ``` \ # Scatterplots Our first ggplot will be a simple scatterplot of bill length and flipper length: ```{r chunk03} ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = bill_length_mm)) + geom_point() ``` \ Next, change the color of the dots by manually specifying a color value in the geom function: ```{r chunk04} ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = bill_length_mm)) + geom_point(color = "blue") ``` \ Next, we color them by species: ```{r chunk05} ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = bill_length_mm, color = species)) + geom_point() ``` \ Don't like the default colors (which are not color-blind friendly)? We can specify our preferred palette by tacking on `scale_color_manual()` to our expression: ```{r chunk06} ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = bill_length_mm, color = species)) + geom_point() + scale_color_manual(values = c("darkorange","darkorchid","cyan4")) ``` \ # CHALLENGE 1 1A\) Make a scatterplot with *bill depth* on the x-axis and *body mass* on the y-axis. [[Answer](https://bit.ly/3bKiYtB)] ```{r chunk07} ## Your answer here ``` \ 1B\) Visualize your plot of *bill depth* vs. *body mass* by species, using different i) colors, and ii) shapes. [[Hint](https://bit.ly/3C00mjY)] [[Solution](https://bit.ly/3pcHeaL)] ```{r chunk08} ## Your answer here ``` \ # Facets Another way we can differentiate the points is by using *facets* (i.e., a separate plot for each group). We can ask for facets by adding `facet_wrap()` or `facet_grid()` to our plot expression: ```{r chunk09} ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = bill_length_mm)) + geom_point() + facet_wrap(~species) ``` \ # Boxplots You can use `geom_boxplot()` to draw boxplots. To create multiple boxplots for different groups of data, pass a column that has categorical (character or factor) values as either the `x` or `y` property in `aes()`. ggplot will take care of the rest! ```{r chunk10} ggplot(penguins, aes(x = species, y = flipper_length_mm)) + geom_boxplot() ``` \ # CHALLENGE 2 Make a histogram of flipper length for each species. [[Hint](https://bit.ly/3pfmEqm)] [[Solution](https://bit.ly/3pjcfJX)] ```{r chunk11} ## Your answer here ``` \ # End Remember to save your work to render a HTML file.