From R for Data Science
Why doesn’t the following code override the default scale?
df <- tibble(
x = rnorm(10000),
y = rnorm(10000)
)
ggplot(df, aes(x, y)) +
geom_hex() +
scale_color_gradient(low = "white", high = "red") +
coord_fixed()
ggplot(df, aes(x, y)) +
geom_point( aes(color =x)) +
scale_color_gradient(low = "white", high = "red") +
coord_fixed()
ggsave("r-11-4-6-q1.png")
geom_hex() uses fill instead of color, but also, it would need a group and a color on geom_hex for scale_color_gradient. When this is provided for geom_point(), which also uses fill, the gradient changes.

2-What is the first argument to every scale? How does it compare to labs()?
The first argument to every scale is name. It is different from the first argument to labs(), which is title, because a default is provided for name, and if no value is provided to the title argument, none is provided.
3-Change the display of the presidential terms by:
presidential |>
mutate(id = 33 + row_number()) |>
ggplot(aes(x = start, y = id, color = party)) +
geom_point() +
geom_segment(aes(xend = end, yend = id)) +
scale_color_manual(values = c(Republican = "#E81B23", Democratic = "#00AEF3"))
presidential |>
mutate(id = 33 + row_number()) |>
mutate(id_name = paste(id, name)) |>
mutate(term_length = round(as.numeric(difftime(as.Date(end), as.Date(start), unit = "weeks"))/52.25, digits = 0)) |>
ggplot(aes(x = start, y = id_name, color = party)) +
geom_point() +
geom_segment(aes(xend = end, yend = id_name)) +
scale_color_manual(values = c(Republican = "#E81B23", Democratic = "#00AEF3")) +
labs(y = "Presidential Terms") +
geom_text(
aes(x = start, y = id_name, label = paste(party,"-",name,"-",term_length, "yrs")),
size = 3, vjust = "bottom", hjust = "left"
) +
scale_x_date(date_breaks = "4 years", date_labels = "%Y")
ggsave("r-11-4-6-q3.png")

4-First, create the following plot. Then, modify the code using override.aes to make the legend easier to see.
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point(aes(color = cut), alpha = 1/4) +
guides(color = guide_legend(override.aes = list(size = 5)))
ggsave("r-11-4-6-q4.png")
