Data visualization, part 2. Code for Quiz 8.
1.) Load the R package we will use.
2.) Quiz questions
3.) Pick one of your plots to save as your preview plot. Use the ggsave command at the end of the chunk of the plot that you want to preview.
mpg dataset
geom_point
displ
to the x-axishwy
to the y-axisfacet_wrap
to split the data into panels based on the manufacturer
ggplot(data = mpg) +
geom_point(aes(x = displ, y = hwy)) +
facet_wrap(facets = vars(manufacturer))
mpg
datasetgeom_bar
manufacturer
to the y-axisfacet_grid
to split the data into panels based on the class
ggplot(mpg) +
geom_bar(aes(y = manufacturer)) +
facet_grid(vars(class), scales = "free_y", space = "free_y")
To help you complete this question use:
spend_time.csv
from moodle into directory for this post. Or read it in directly: read_csv(“https://estanny.com/static/week8/spend_time.csv”)spend_time
contains 10 years of data on how many hours Americans spend each day on 5 activitiesspend_time
spend_time <- read_csv("spend_time.csv")
Start with spend_time
geom_col
activity
to the x-axisavg_hours
to the y-axisactivity
to fillscale_y_continuous
with breaks every hour from 0 to 6 hourssubtitle
to Avg hours per day: 2015x
and y
to NULL so they won’t be labeledp1
p1
Start with spend_time
geom_col
year
to the x-axisavg_hours
to the y-axisactivity
to filllabs
to
p2
p2
Use patchwork to display p1
on top of p2
p_all
p_all
p_all <- p1 / p2
p_all
Start with p_all
legend.position
to ‘none’ to get rid of the legendp_all_no_legend
p_all_no_legend
p_all_no_legend <- p_all & theme(legend.position = 'none')
p_all_no_legend
Start with p_all_no_legend
plot_annotation
set
title
to “How much time Americans spent on selected activities”caption
to “Source: American Time of Use Survey, https://data.bls.gov/cgi-bin/surveymost?tup_all_no_legend +
plot_annotation(title = "How much time Americans spent on selected activities",
caption = "Source: American Time of Use Survey, https://data.bls.gov/cgi-bin/surveymost?tu")
Use spend_time
from last question patchwork slides
Start with spend_time
geom_point
year
to the x-axisavg_hours
to the y-axisgeom_smooth
year
to the x-axisavg_hours
to the y-axisscale_x_continuous
labs
to
subtitle
to Avg hours per day: houseworkx
and y
to NULL so x and y axes won’t be labeledp4
p4
p4 <-
spend_time %>% filter(activity == "housework") %>%
ggplot() +
geom_point(aes(x = year, y = avg_hours)) +
geom_smooth(aes(x = year, y = avg_hours)) +
scale_x_continuous(breaks = seq(2010, 2019, by = 1)) +
labs(subtitle = "Avg Hours Per Day: housework", x = NULL, y = NULL)
p4
Start with p4
coord_cartesian
to change range on y axis to 0 to 6p5
p5
p5 <- p4 + coord_cartesian(ylim = c(0, 6))
p5
Start with spend_time
geom_point
year
to the x-axisavg_hours
to the y-axisactivity
to coloractivity
to groupgeom_smooth
year
to the x-axisavg_hours
to the y-axisactivity
to coloractivity
to groupscale_x_continuous
coord_cartesian
to change range on y axis to 0 to 6labs
to
x
and y
to NULL so they won’t be labeledp6
p6
p6 <-
spend_time %>%
ggplot() +
geom_point(aes(x = year, y = avg_hours, color = activity, group = activity)) +
geom_smooth(aes(x = year, y = avg_hours, color = activity, group = activity)) +
scale_x_continuous(breaks = seq(2010, 2019, by = 1)) +
coord_cartesian(ylim = c(0, 6)) +
labs(x = NULL, y = NULL)
p6
Use patchwork to display p4
and p5
on top of p6
( p4 | p5 ) / p6