| geom_link {ggforce} | R Documentation |
This set of geoms makes it possible to connect points using straight lines.
Before you think geom_segment and
geom_path, these functions have some additional tricks
up their sleeves. geom_link connects two points in the same way as
geom_segment but does so by interpolating multiple
points between the two. An additional column called index is added to the
data with a sequential progression of the interpolated points. This can be
used to map color or size to the direction of the link. geom_link2 uses the
same syntax as geom_path but interpolates between the
aesthetics given by each row in the data.
stat_link(mapping = NULL, data = NULL, geom = "path", position = "identity", na.rm = FALSE, show.legend = NA, n = 100, inherit.aes = TRUE, ...) stat_link2(mapping = NULL, data = NULL, geom = "path_interpolate", position = "identity", na.rm = FALSE, show.legend = NA, n = 100, inherit.aes = TRUE, ...) geom_link(mapping = NULL, data = NULL, stat = "link", position = "identity", arrow = NULL, lineend = "butt", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, n = 100, ...) geom_link2(mapping = NULL, data = NULL, stat = "link2", position = "identity", arrow = NULL, lineend = "butt", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, n = 100, ...) geom_link0(mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., arrow = NULL, lineend = "butt", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE)
mapping |
Set of aesthetic mappings created by |
data |
A data frame. If specified, overrides the default data frame defined at the top level of the plot. |
geom, |
stat Override the default connection between |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
n |
The number of points to create for each segment |
inherit.aes |
If |
... |
other arguments passed on to
|
stat |
The statistical transformation to use on the data for this layer, as a string. |
arrow |
specification for arrow heads, as created by arrow() |
lineend |
Line end style (round, butt, square) |
geom_link understand the following aesthetics (required aesthetics are in bold):
x
y
xend
yend
color
size
linetype
alpha
lineend
geom_link2 understand the following aesthetics (required aesthetics are in bold):
x
y
color
size
linetype
alpha
lineend
The interpolated point coordinates
The progression along the interpolation mapped between 0 and 1
Thomas Lin Pedersen
# Lets make some data
lines <- data.frame(
x = c(5, 12, 15, 9, 6),
y = c(17, 20, 4, 15, 5),
xend = c(19, 17, 2, 9, 5),
yend = c(10, 18, 7, 12, 1),
width = c(1, 10, 6, 2, 3),
colour = letters[1:5]
)
ggplot() + geom_link(aes(x = x, y = y, xend = xend, yend = yend,
colour = colour, alpha = ..index..,
size = ..index..),
data = lines)
ggplot() + geom_link2(aes(x = x, y = y, colour = colour, size = width,
group = 1),
data = lines, lineend = 'round', n = 500)