R: Annotate nodes with text

geom_node_text {ggraph} | R Documentation

## Annotate nodes with text

### Description

These geoms are equivalent in functionality to `ggplot2::geom_text()` and `ggplot2::geom_label()` and allows for simple annotation of nodes.

### Usage

    geom_node_text(mapping = NULL, data = NULL, position = "identity",
      parse = FALSE, nudge_x = 0, nudge_y = 0, check_overlap = FALSE,
      show.legend = NA, repel = FALSE, ...)

    geom_node_label(mapping = NULL, data = NULL, position = "identity",
      parse = FALSE, nudge_x = 0, nudge_y = 0,
      label.padding = unit(0.25, "lines"), label.r = unit(0.15, "lines"),
      label.size = 0.25, show.legend = NA, repel = FALSE, ...)

### Arguments

`mapping` | Set of aesthetic mappings created by `ggplot2::aes()` or `ggplot2::aes_()`. By default x and y are mapped to x and y in the node data.
`data` | The data to be displayed in this layer. There are three options: If `NULL`, the default, the data is inherited from the plot data as specified in the call to `ggplot()`. A `data.frame`, or other object, will override the plot data. All objects will be fortified to produce a data frame. See `fortify()` for which variables will be created. A `function` will be called with a single argument, the plot data. The return value must be a `data.frame`, and will be used as the layer data. A `function` can be created from a `formula` (e.g. `~ head(.x, 10)`).
`position` | Position adjustment, either as a string, or the result of a call to a position adjustment function.
`parse` | If `TRUE`, the labels will be parsed into expressions and displayed as described in `?plotmath`.
`nudge_x, nudge_y` | Horizontal and vertical adjustment to nudge labels by. Useful for offsetting text from points, particularly on discrete scales.
`check_overlap` | If `TRUE`, text that overlaps previous text in the same layer will not be plotted.
`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. It can also be a named logical vector to finely select the aesthetics to display.
`repel` | If `TRUE`, text labels will be repelled from each other to avoid overlapping, using the `GeomTextRepel` geom from the ggrepel package.
`...` | Other arguments passed on to `layer()`. These are often aesthetics, used to set an aesthetic to a fixed value, like `colour = "red"` or `size = 3`. They may also be parameters to the paired geom/stat.
`label.padding` | Amount of padding around label. Defaults to 0.25 lines.
`label.r` | Radius of rounded corners. Defaults to 0.15 lines.
`label.size` | Size of label border, in mm.

### Aesthetics

`geom_node_text` understands the following aesthetics. Bold aesthetics are automatically set, but can be overridden. Italic aesthetics are required but not set by default

- x

- y

- label

- alpha

- angle

- colour

- family

- fontface

- hjust

- lineheight

- size

- vjust

### Author(s)

Thomas Lin Pedersen

### See Also

Other geom_node_*: `geom_node_arc_bar`, `geom_node_circle`, `geom_node_point`, `geom_node_range`, `geom_node_tile`, `geom_node_voronoi`

### Examples

    require(tidygraph)
    gr <- create_notable('bull') %>%
      mutate(class = sample(letters[1:3], n(), replace = TRUE))

    ggraph(gr, 'stress') +
      geom_node_point(aes(label = class))

    ggraph(gr, 'stress') +
      geom_node_label(aes(label = class), repel = TRUE)

[Package ggraph version 2.0.0 Index]