Intermediate Data Visualization with ggplot2
Rick Scavetta
Founder, Scavetta Academy
Reasons to not use consistent plotting spaces:
Variable type | Subsets contains |
---|---|
Continuous | Wildly different ranges |
Categorical | Different groups |
ggplot(msleep2, aes(bodywt_log,
brainwt_log)) +
geom_point(alpha = 0.6, shape = 16) +
coord_fixed() +
facet_grid(rows = vars(vore),
cols = vars(conservation))
ggplot(msleep2, aes(bodywt_log,
brainwt_log)) +
geom_point(alpha = 0.6, shape = 16) +
coord_fixed() +
facet_grid(rows = vars(vore),
cols = vars(conservation),
scales = "free_x")
Error: coord_fixed doesn't support free scales
ggplot(msleep2, aes(bodywt_log,
brainwt_log)) +
geom_point(alpha = 0.6, shape = 16) +
facet_grid(rows = vars(vore),
cols = vars(conservation),
scales = "free_x")
ggplot(msleep2, aes(bodywt_log,
brainwt_log)) +
geom_point(alpha = 0.6, shape = 16) +
facet_grid(rows = vars(vore),
cols = vars(conservation),
scales = "free_y")
ggplot(msleep2, aes(bodywt_log,
brainwt_log)) +
geom_point(alpha = 0.6, shape = 16) +
facet_grid(rows = vars(vore),
cols = vars(conservation),
scales = "free")
ggplot(msleep2, aes(x = bodywt_log,
y = name)) +
geom_point() +
facet_grid(rows = vars(vore))
ggplot(msleep2, aes(x = bodywt_log,
y = name)) +
geom_point() +
# Free the y scales and space
facet_grid(rows = vars(vore),
scales = "free_y")
ggplot(msleep2, aes(x = bodywt_log,
y = name)) +
geom_point() +
# Free the y scales and space
facet_grid(rows = vars(vore),
scales = "free_y",
space = "free_y")
msleep2 <- msleep2 %>%
# Arrange from lo to hi weight
arrange(-bodywt_log) %>%
# Redefine factor levels in order
mutate(name = as_factor(name))
# New order is reflected in y axis
ggplot(msleep2, aes(x = bodywt_log,
y = name)) +
geom_point() +
# Free the y scales and space
facet_grid(rows = vars(vore),
scales = "free_y",
space = "free_y")
Intermediate Data Visualization with ggplot2