Data visualization, part 2. Code for Quiz 8.
mpg
datasetgeom_point
displ
to the x-axishwy
to the y-axisfacet_wrap
to split the data into panels based on the manufacturerggplot(data=mpg) +
geom_point(aes(x = displ, y= hwy)) +
facet_wrap(~ manufacturer)
mpg
datasetgeom_bar
manufacturer
to the y-axisfacet_grid
to split the data into panels based on the class
ggplot(data=mpg)+
geom_bar(aes(y= manufacturer)) +
facet_grid(vars(class), space = 'free_y', scale = 'free_y')
TO help you complete this question use:
the patchwork slides and
the vignette
Download the file spend_time.csv
from moodle
spend_time
contains 10 years of data on how many hours Americans spend each day on 5 activities.
Read it into spend_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 hourslabs
to
subtitle
to Avg hours per day: 2018x
and y
to NULL so they won’t be labeled.p1
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?tu”p_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
x
and y
to NULL so x and y axes won’t be labeledp4
p4
p4 <-
spend_time %>% filter(activity == "leisure/sports") %>%
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: leisure/sports", 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