| geom_nodetext_repel {ggnetwork} | R Documentation | 
Draw repulsive node labels
Description
All arguments to these geoms are identical to those of
geom_text_repel and
geom_label_repel.
Usage
geom_nodetext_repel(
  mapping = NULL,
  data = NULL,
  parse = FALSE,
  ...,
  box.padding = unit(0.25, "lines"),
  point.padding = unit(1e-06, "lines"),
  arrow = NULL,
  force = 1,
  max.iter = 10000,
  nudge_x = 0,
  nudge_y = 0,
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)
geom_nodelabel_repel(
  mapping = NULL,
  data = NULL,
  parse = FALSE,
  ...,
  box.padding = unit(0.25, "lines"),
  label.padding = unit(0.25, "lines"),
  point.padding = unit(1e-06, "lines"),
  label.r = unit(0.15, "lines"),
  label.size = 0.25,
  arrow = NULL,
  force = 1,
  max.iter = 10000,
  nudge_x = 0,
  nudge_y = 0,
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)
Arguments
| 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. | 
| parse | If TRUE, the labels will be parsed into expressions and displayed as described in ?plotmath | 
| ... | other arguments passed on to  
 | 
| box.padding | Amount of padding around bounding box, as unit or number.
Defaults to 0.25. (Default unit is lines, but other units can be specified
by passing  | 
| point.padding | Amount of padding around labeled point, as unit or
number. Defaults to 0. (Default unit is lines, but other units can be
specified by passing  | 
| arrow | specification for arrow heads, as created by  | 
| force | Force of repulsion between overlapping text labels. Defaults to 1. | 
| max.iter | Maximum number of iterations to try to resolve overlaps. Defaults to 10000. | 
| nudge_x,nudge_y | Horizontal and vertical adjustments to nudge the
starting position of each text label. The units for  | 
| na.rm | If  | 
| show.legend | logical. Should this layer be included in the legends?
 | 
| inherit.aes | If  | 
| label.padding | Amount of padding around label, as unit or number.
Defaults to 0.25. (Default unit is lines, but other units can be specified
by passing  | 
| label.r | Radius of rounded corners, as unit or number. Defaults
to 0.15. (Default unit is lines, but other units can be specified by
passing  | 
| label.size | Size of label border, in mm. | 
Examples
## geom_nodetext_repel example
if (require(network) && require(sna)) {
  n <- network(rgraph(10, tprob = 0.2), directed = FALSE)
  ggplot(n, aes(x, y, xend = xend, yend = yend)) +
    geom_edges(colour = "steelblue") +
    geom_nodetext_repel(aes(label = paste("node", vertex.names)),
      box.padding = unit(1, "lines")
    ) +
    geom_nodes(colour = "steelblue", size = 3) +
    theme_blank()
}
## geom_nodelabel_repel examples
if (require(network) && require(sna)) {
  data(flo, package = "network")
  n <- network(flo, directed = FALSE)
  ggplot(n, aes(x, y, xend = xend, yend = yend)) +
    geom_edges(colour = "steelblue") +
    geom_nodelabel_repel(aes(label = vertex.names),
      box.padding = unit(1, "lines")
    ) +
    geom_nodes(colour = "steelblue", size = 3) +
    theme_blank()
  # label only a subset of all nodes
  n %v% "degree" <- degree(n)
  low_degree <- function(x) {
    x[ x$degree < median(x$degree), ]
  }
  ggplot(n, aes(x, y, xend = xend, yend = yend)) +
    geom_edges(colour = "steelblue") +
    geom_nodelabel_repel(aes(label = vertex.names),
      box.padding = unit(1.5, "lines"),
      data = low_degree,
      segment.colour = "tomato",
      colour = "white", fill = "tomato"
    ) +
    geom_nodes(aes(size = degree), colour = "steelblue") +
    theme_blank()
}