Type: | Package |
Title: | Scales that Focus Specific Levels in your ggplot() |
Version: | 1.0.1 |
BugReports: | https://github.com/Freguglia/ggfocus/issues |
URL: | https://github.com/Freguglia/ggfocus |
Description: | A 'ggplot2' extension that provides tools for automatically creating scales to focus on subgroups of the data plotted without losing other information. |
License: | GPL-3 |
Encoding: | UTF-8 |
RoxygenNote: | 7.3.2 |
Depends: | R (≥ 4.1.0), ggplot2 |
Imports: | dplyr, rlang, RColorBrewer |
Suggests: | knitr, rmarkdown, maps, ggrepel, testthat (≥ 3.0.0) |
VignetteBuilder: | knitr |
Config/testthat/edition: | 3 |
NeedsCompilation: | no |
Packaged: | 2025-09-02 20:32:41 UTC; victor |
Author: | Victor Freguglia [aut, cre] |
Maintainer: | Victor Freguglia <victorfreguglia@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2025-09-02 20:50:19 UTC |
Focus scales for 'ggplot' objects
Description
Scale that focus on specific levels.
Usage
scale_alpha_focus(focus_levels, alpha_focus = 1, alpha_other = 0.2)
scale_color_focus(
focus_levels,
color_focus = NULL,
color_other = "gray",
palette_focus = "Set1"
)
scale_fill_focus(
focus_levels,
color_focus = NULL,
color_other = "gray",
palette_focus = "Set1"
)
scale_linetype_focus(focus_levels, linetype_focus = 1, linetype_other = 3)
scale_shape_focus(focus_levels, shape_focus = 8, shape_other = 1)
scale_size_focus(focus_levels, size_focus = 3, size_other = 1)
Arguments
focus_levels |
character vector with levels to focus on. |
alpha_focus |
'alpha' value for focused levels. Defaults to 1. |
alpha_other |
'alpha' value for other levels. Defaults to 0.05. |
color_focus |
color(s) for focused levels (a single value or a vector with the same length as the number of highlighted levels). |
color_other |
color for other levels. |
palette_focus |
If 'color_focus' is not specified, provide a pelette from RColorBrewer to pick colors. |
linetype_focus |
vector of 'linetype' value(s) for focused levels with length 1 or equal to 'focus_levels'. Defaults to 1. |
linetype_other |
'linetype' value for other levels. Defaults to 3. |
shape_focus |
'shape' value for focused levels. Defaults to 8. |
shape_other |
'shape' value for other levels. Defaults to 1. |
size_focus |
'size' value for focused levels. Defaults to 3. |
size_other |
'size' value for other levels. Defaults to 1. |
Note
Use RColorBrewer::display.brewer.all()
to see the palettes
available.
Examples
ggplot(iris, aes(x = Petal.Length, y = Sepal.Length, alpha = Species)) +
geom_point() +
scale_alpha_focus(focus_levels = "versicolor")
ggplot(iris, aes(x = Petal.Length, y = Sepal.Length, color = Species)) +
geom_point() +
scale_color_focus(focus_levels = "setosa", color_focus = "red")
ggplot(iris, aes(x = Petal.Length, y = Sepal.Length, color = Species)) +
geom_point() +
scale_color_focus(focus_levels = c("setosa", "virginica"), color_focus = c("red", "blue"))
ggplot(mtcars, aes(x = wt, y = mpg, color = rownames(mtcars))) +
geom_point() +
scale_color_focus(focus_levels = c("Mazda RX4", "Merc 230"), palette_focus = "Set2")
ggplot(iris,aes(x = Petal.Length, group = Species, fill = Species)) +
geom_histogram() +
scale_fill_focus(focus_levels = "versicolor", color_focus = "red")
ggplot(iris,aes(x = Petal.Length, y = Sepal.Length, shape = Species)) +
geom_point() +
scale_shape_focus(focus_levels = "versicolor")
ggplot(iris,aes(x = Petal.Length, y = Sepal.Length, size = Species)) +
geom_point() +
scale_size_focus(focus_levels = "versicolor")