Link points with paths
This set of geoms makes it possible to connect points using straight lines.
Before you think ggplot2::geom_segment()
and
ggplot2::geom_path()
, these functions have some additional tricks
up their sleeves. geom_link connects two points in the same way as
ggplot2::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 ggplot2::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, arrow.fill = NULL, lineend = "butt", linejoin = "round", 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 |
geom |
The geometric object to use display the data |
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 |
Arrow specification, as created by |
lineend |
Line end style (round, butt, square). |
arrow.fill |
fill colour to use for the arrow head (if closed). |
linejoin |
Line join style (round, mitre, bevel). |
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
# 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(lines) + geom_link(aes(x = x, y = y, xend = xend, yend = yend, colour = colour, alpha = stat(index), size = stat(index))) ggplot(lines) + geom_link2(aes(x = x, y = y, colour = colour, size = width, group = 1), lineend = 'round', n = 500) # geom_link0 is simply an alias for geom_segment to put the link geoms in # line with the other line geoms with multiple versions. `index` is not # available here ggplot(lines) + geom_link0(aes(x = x, y = y, xend = xend, yend = yend, colour = colour))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.