Learn R Programming

ggraph (version 0.1.1)

geom_edge_density: Show edges as a density map

Description

This geom makes it possible to add a layer showing edge presence as a density map. Each edge is converted to n points along the line and a jitter is applied. Based on this dataset a two-dimensional kernel density estimation is applied and plotted as a raster image. The density is mapped to the alpha level, making it possible to map a variable to the fill.

Usage

geom_edge_density(mapping = NULL, data = get_edges("short"), position = "identity", show.legend = NA, n = 100, ...)

Arguments

mapping
Set of aesthetic mappings created by aes or aes_. By default x, y, xend, yend, group and circular are mapped to x, y, xend, yend, edge.id and circular in the edge data.
data
The return of a call to get_edges() or a data.frame giving edges in corrent format (see details for for guidance on the format). See get_edges for more details on edge extraction.
position
Position adjustment, either as a string, or the result of a call to a position adjustment function.
show.legend
logical. Should this layer be included in the legends? NA, the default, includes if any aesthetics are mapped. FALSE never includes, and TRUE always includes.
n
The number of points to estimate in the x and y direction, i.e. the resolution of the raster.
...
other arguments passed on to layer. These are often aesthetics, used to set an aesthetic to a fixed value, like color = "red" or size = 3. They may also be parameters to the paired geom/stat.

Aesthetics

geom_edge_density understand the following aesthetics. Bold aesthetics are automatically set, but can be overridden.
  • x
  • y
  • xend
  • yend
  • edge_fill
  • filter

Computed variables

See Also

Other geom_edge_*: geom_edge_arc, geom_edge_diagonal, geom_edge_elbow, geom_edge_fan, geom_edge_hive, geom_edge_link, geom_edge_loop

Examples

Run this code
require(igraph)
gr <- make_graph('bull')
E(gr)$class <- sample(letters[1:3], gsize(gr), replace = TRUE)

ggraph(gr, 'igraph', algorithm = 'nicely') +
  geom_edge_density(aes(fill = class)) +
  geom_edge_link() + geom_node_point()

Run the code above in your browser using DataLab