Title: | Trace and Highlight Groups of Data Points |
---|---|
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. |
Authors: | Ryan Sheridan [aut, cre] , Rui Fu [ctb] , Jay Hesselberth [ctb] , RNA Bioscience Initiative [fnd, cph] |
Maintainer: | Ryan Sheridan <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.2.0.9000 |
Built: | 2024-11-05 05:28:48 UTC |
Source: | https://github.com/rnabioco/ggtrace |
Mock clusters
clusters
clusters
A tibble with 14282 rows and 3 variables
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.
draw_key_point_trace(data, params, size) draw_key_path_trace(data, params, size)
draw_key_point_trace(data, params, size) draw_key_path_trace(data, params, size)
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. |
A grid grob
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)
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)
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.
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), ... )
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), ... )
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, either as a |
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
... |
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. |
ggplot object
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")
.
geom_path; geom_line; geom_step
# 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()
# 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()
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.
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 )
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 )
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, either as a |
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
... |
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 |
ggplot object
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")
.
# 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()
# 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
stocks
stocks
A tibble with 74440 rows and 3 variables