Harold Nelson
2024-06-25
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
I’ll use the diamonds dataset to demonstrate the problem and the solutions.
Very little detail is visible. With 53,940 rows, the scatterplot is totally saturated.
Use the transparency (alpha) and/or size parameters.
You can use a smoother instead of a scatterplot.
## `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
diamonds %>%
ggplot(aes(x = carat, y = price)) +
geom_point(alpha=.01) +
geom_smooth(aes(color = cut))
## `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'