plot_node_degrees {ig.degree.betweenness} | R Documentation |
Visualize Node Degree Distribution in a Network Graph
Description
Generates a horizontal bar‐style plot of node degrees for an igraph
network.
For undirected graphs, it shows each node’s total degree.
For directed graphs, it displays in‐degrees (as negative bars) alongside out‐degrees.
Usage
plot_node_degrees(graph)
Arguments
graph |
An |
Details
This function computes:
- Total degree
Number of edges incident on each node (for undirected graphs).
- In‐degree
Number of incoming edges per node (for directed graphs).
- Out‐degree
Number of outgoing edges per node (for directed graphs).
For directed graphs, in‐degrees are negated so that bars extend leftward, providing an immediate visual comparison to out‐degrees.
Internally, it uses:
-
igraph::degree()
to compute degrees, -
dplyr
andtidyr
for reshaping the data, -
ggplot2
for plotting.
Value
A ggplot
object:
-
Undirected graphs: A bar for each node showing its total degree.
-
Directed graphs: Split bars per node with negative values for in‐degree (pointing left) and positive values for out‐degree (pointing right).
Customization
You can modify the returned ggplot
with additional layers, themes, or labels.
For example, to add a title or change colors:
plot_node_degrees(g) + ggtitle("Degree Distribution") + scale_fill_manual(values = c("in_degree" = "steelblue", "out_degree" = "salmon"))
Examples
library(ig.degree.betweenness)
library(igraphdata)
data("karate")
data("oncology_network")
plot_node_degrees(oncology_network)
plot_node_degrees(karate)