Skip to contents

Experimental. Draws the directed influence backbone from a sniff_groups_influence() object as a node-link graph: an arrow runs from the source (the cited, more foundational group) to the recipient (the citing group). By default the edges are the net flow $net (\(\nu_{ij} = C_{ij} - C_{ji}\)), the "who, on balance, leads whom" spine; nodes are coloured by role (source / broker / sink) and sized by citation activity.

Usage

plot_groups_influence_network(
  influence,
  weight = c("net", "gross", "surprise"),
  min_weight = 0,
  node_size = c("equal", "io", "balance"),
  colour_role = TRUE,
  edge_labels = TRUE,
  edge_digits = NULL,
  labels = TRUE,
  label_size = NULL,
  layout = "sugiyama",
  title = NULL
)

Arguments

influence

A sniff_groups_influence() object.

weight

Which edges and weights to draw: "net" (default, the net-flow spine $net, one arrow per connected pair), "gross" (every directed channel, weighted by citation count), or "surprise" (every directed channel, weighted by the size-null surprise).

min_weight

Drop edges whose weight is below this (default 0).

node_size

How to size the group nodes: "equal" (default), "io" (citations made plus received) or "balance" (the absolute balance \(|\beta|\)).

colour_role

Colour nodes by their source / broker / sink role (default TRUE).

edge_labels

Print the weight on each edge (default TRUE).

edge_digits

Decimal places for the edge weight labels; NULL (default) shows integers for "net"/"gross" and two decimals for the continuous "surprise" weight.

labels

Print the group label on each node (default TRUE).

label_size

Font size of the node labels; NULL (default) auto-sizes the nodes and the text so even the smallest node holds its group id.

layout

A ggraph/igraph layout name (default "sugiyama", the layered DAG layout).

title

Plot title; NULL (default) removes it.

Value

A ggplot object.

Examples

if (FALSE) { # \dontrun{
infl <- sniff_groups_influence(groups)
plot_groups_influence_network(infl)
plot_groups_influence_network(infl, weight = "gross", min_weight = 50)
} # }