The visualisation is powered by the grapher package
library(grapher)
library(tidygraph)
# get cran network data
deps <- cran_deps_graph(
Inf,
format = "igraph",
include_base_r = FALSE
)
# compute graph metrics
graph <- as_tbl_graph(deps) %>%
activate(nodes) %>%
mutate(
in_degree = centrality_degree(mode = "in")
)
# build and save graph
graph(graph) %>%
graph_offline_layout(steps = 100, gravity = -20L) %>%
hide_long_links(280) %>%
scale_node_size(in_degree, c(10, 80)) %>%
scale_link_color_coords() %>%
capture_node_click() %>%
save_graph_json("./assets/data/graph.json")
Each node is an R package on CRAN, connections represent dependencies
Depends
Imports
and
LinkingTo.
You can navigate the graph with the w a s d and the arrow keys ( ← ↑ → ↓ ) to rotate the camera q e will rotate it.
Click on a node to reveal more information about it.
Type the name of a package in the search box in the top left corner to zoom in on it.
While all packages are visualised not all dependencies are, to avoid a hairball graph edges that are over a certain length are hidden. This allows keeping sight of smaller communities.
You view the source used to build the visualisation here