Type: | Package |
Title: | Trace and Highlight Groups of Data Points |
Version: | 0.2.0 |
Description: | Provides 'ggplot2' geoms that allow groups of data points to be outlined or highlighted for emphasis. This is particularly useful when working with dense datasets that are prone to overplotting. |
License: | MIT + file LICENSE |
URL: | https://github.com/rnabioco/ggtrace |
BugReports: | https://github.com/rnabioco/ggtrace/issues |
Depends: | R (≥ 4.0.0) |
Imports: | ggplot2, grid, rlang |
Suggests: | covr, knitr, rmarkdown, tidyr, tibble, dplyr, testthat (≥ 3.0.0), vdiffr (≥ 1.0.0) |
VignetteBuilder: | knitr |
Config/testthat/edition: | 3 |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.2.0 |
SystemRequirements: | pandoc |
Collate: | 'a-legend-draw.R' 'data.R' 'geom-path-trace.R' 'geom-point-trace.R' 'ggtrace-package.R' 'grouping.R' 'utilities-ggplot2.R' |
Config/Needs/website: | pkgdown, rnabioco/rbitemplate |
NeedsCompilation: | no |
Packaged: | 2022-06-23 18:38:51 UTC; rmsheridan |
Author: | Ryan Sheridan |
Maintainer: | Ryan Sheridan <ryan.sheridan@cuanschutz.edu> |
Repository: | CRAN |
Date/Publication: | 2022-06-24 07:20:02 UTC |
ggtrace
Description
This package provides ggplot2 geoms that allow groups of data points to be outlined or highlighted for emphasis. This is particularly useful when working with dense datasets that are prone to overplotting.
Details
See the vignette for usage examples:
browseVignettes("ggtrace")
Author(s)
Ryan Sheridan ryan.sheridan@cuanschutz.edu
See Also
Report issues and suggest improvements at https://github.com/rnabioco/ggtrace/issues
GeomPathTrace
Description
GeomPathTrace
Value
ggproto object
See Also
Mock clusters
Description
Mock clusters
Usage
clusters
Format
A tibble with 14282 rows and 3 variables
Key glyphs for legends
Description
Each geom has an associated function that draws the key when the geom needs
to be displayed in a legend. These functions are called draw_key_*()
, where
*
stands for the name of the respective key glyph. The key glyphs can be
customized for individual geoms by providing a geom with the key_glyph
argument.
Usage
draw_key_point_trace(data, params, size)
draw_key_path_trace(data, params, size)
Arguments
data |
A single row data frame containing the scaled aesthetics to display in this key |
params |
A list of additional parameters supplied to the geom. |
size |
Width and height of key in mm. |
Value
A grid grob
Examples
p <- ggplot2::ggplot(stocks, ggplot2::aes(day, value, color = name))
# key glyphs can be specified by their name
p + ggplot2::geom_line(key_glyph = "point_trace")
# key glyphs can be specified via their drawing function
p + ggplot2::geom_line(key_glyph = ggplot2::draw_key_rect)
Trace lines
Description
These geoms are similar to ggplot2::geom_path()
,
ggplot2::geom_line()
, and ggplot2::geom_step()
, but also
include the ability to highlight line segments of interest.
These geoms accept normal ggplot2 graphical parameters with
some modifications. fill
controls the color of the center line,
color
controls the outline color, and stroke
controls
outline width, similar to how filled shapes are modified for other ggplot2
geoms. Additional parameters including size
, alpha
,
linetype
, linejoin
, lineend
, and linemitre
are
also accepted.
Usage
geom_path_trace(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
trace_position = "all",
background_params = list(color = NA),
lineend = "butt",
linejoin = "round",
linemitre = 10,
arrow = NULL,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
geom_line_trace(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
na.rm = FALSE,
orientation = NA,
show.legend = NA,
inherit.aes = TRUE,
trace_position = "all",
background_params = list(color = NA),
...
)
geom_step_trace(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
direction = "hv",
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
trace_position = "all",
background_params = list(color = NA),
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
The statistical transformation to use on the data for this layer, as a string. |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
... |
Other arguments passed on to |
trace_position |
Specifies which data points to outline, can be one of:
|
background_params |
Named list specifying aesthetic parameters to use
for background data points when a predicate is passed to
|
lineend |
Line end style (round, butt, square). |
linejoin |
Line join style (round, mitre, bevel). |
linemitre |
Line mitre limit (number greater than 1). |
arrow |
Arrow specification, as created by |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
orientation |
The orientation of the layer. The default ( |
direction |
direction of stairs: 'vh' for vertical then horizontal, 'hv' for horizontal then vertical, or 'mid' for step half-way between adjacent x-values. |
Value
ggplot object
Aesthetics
geom_path_trace()
understands the following aesthetics (required aesthetics are in bold):
-
x
-
y
-
alpha
-
colour
-
fill
-
group
-
linetype
-
size
-
stroke
Learn more about setting these aesthetics in vignette("ggplot2-specs")
.
See Also
geom_path; geom_line; geom_step
Examples
# Modify line color for each group
ggplot2::ggplot(
stocks,
ggplot2::aes(day, value, fill = name)
) +
geom_line_trace() +
ggplot2::theme_minimal()
# Modify outline color for each group
ggplot2::ggplot(
stocks,
ggplot2::aes(day, value, color = name)
) +
geom_line_trace() +
ggplot2::theme_minimal()
# Specify outline color for each group
clrs <- c(
CAC = "#E69F00",
DAX = "#0072B2",
FTSE = "#009E73",
SMI = "#56B4E9"
)
ggplot2::ggplot(
stocks,
ggplot2::aes(day, value, color = name)
) +
geom_line_trace(stroke = 1) +
ggplot2::scale_color_manual(values = clrs) +
ggplot2::theme_minimal()
# Outline a subset of data points
ggplot2::ggplot(
stocks,
ggplot2::aes(day, value, color = name)
) +
geom_line_trace(trace_position = day > 1500, stroke = 1) +
ggplot2::theme_minimal()
# Modify appearance of background data points
ggplot2::ggplot(
stocks,
ggplot2::aes(day, value, color = name)
) +
geom_line_trace(
trace_position = day > 1500,
background_params = list(color = NA, fill = "grey75"),
stroke = 1
) +
ggplot2::theme_minimal()
# Remove outline
ggplot2::ggplot(
stocks,
ggplot2::aes(day, value, fill = name)
) +
geom_line_trace(
trace_position = day > 1500,
background_params = list(fill = "grey75"),
color = NA
) +
ggplot2::theme_minimal()
Trace points
Description
This geom is similar to ggplot2::geom_point()
, but also includes the
ability to outline points of interest. geom_point_trace()
accepts
normal ggplot2 graphical parameters with some modifications. fill
controls the color of each point, color
controls the outline
color, and stroke
controls outline width, similar to how filled
shapes are modified for other ggplot2 geoms. Additional parameters including
size
, linetype
, and alpha
are also accepted.
Usage
geom_point_trace(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
trace_position = "all",
background_params = list(color = NA),
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
The statistical transformation to use on the data for this layer, as a string. |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
... |
Other arguments passed on to |
trace_position |
Specifies which data points to outline, can be one of:
|
background_params |
Named list specifying aesthetic parameters to use
for background data points when a predicate is passed to
|
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
Value
ggplot object
Aesthetics
geom_point_trace()
understands the following aesthetics (required aesthetics are in bold):
-
x
-
y
-
alpha
-
colour
-
fill
-
group
-
linetype
-
shape
-
size
-
stroke
Learn more about setting these aesthetics in vignette("ggplot2-specs")
.
See Also
Examples
# Modify outline color for each group
ggplot2::ggplot(
clusters,
ggplot2::aes(UMAP_1, UMAP_2, color = cluster)
) +
geom_point_trace() +
ggplot2::theme_minimal()
# Outline a subset of points
ggplot2::ggplot(
clusters,
ggplot2::aes(UMAP_1, UMAP_2, fill = cluster)
) +
geom_point_trace(trace_position = signal < 0 | signal > 17) +
ggplot2::theme_minimal()
# Modify appearance of background points
ggplot2::ggplot(
clusters,
ggplot2::aes(UMAP_1, UMAP_2, fill = cluster)
) +
geom_point_trace(
trace_position = signal < 0 | signal > 17,
background_params = list(color = NA, fill = "grey85")
) +
ggplot2::theme_minimal()
EuStockMarkets in long format
Description
EuStockMarkets in long format
Usage
stocks
Format
A tibble with 74440 rows and 3 variables