Skip to contents

gglyph provides tools for creating network-style visualizations of directed pairwise relationships using custom edge glyphs built on top of ggplot2.

The package includes four functions:

  1. geom_glyph(): Create a network-based graph that illustrates pairwise relationships (statistical and non-statistical) using custom edges
  2. process_data_statistical(): Process statistical data (e.g., pairwise t-tests) for plotting
  3. process_data_general(): Process general / non-statistical data (any data with directional relationships) for plotting
  4. generate_mock_data(): Create mock data for experimenting with geom_glyph()

They should be used in the following order: either 4 → 1 or 2/3 → 1.

Please note that the package has two licenses:

Installation

You can either install the package from CRAN:

Or you can install the development version from GitHub:

install.packages("devtools")
devtools::install_github("valentinsvelev/gglyph")

Use

You can use the package as follows:

library(gglyph)
library(ggplot2)

data <- generate_mock_data(n_nodes = 5, n_edges = 15, statistical = TRUE)

ggplot(data = data) +
  geom_glyph(
    edge_fill = "purple",
    edge_colour = "black",
    node_fill = "lightblue",
    node_colour = "black"
  )

Or with non-statistical data:

library(gglyph)
library(ggplot2)

data <- generate_mock_data(n_nodes = 5, n_edges = 10)

ggplot(data = data) +
  geom_glyph(
    edge_fill = "yellow",
    node_fill = "black",
    node_colour = "yellow"
  )

You can also use ggplot2’s facet_wrap() for grouped data:

library(gglyph)
library(ggplot2)
library(ggsci)

data <- generate_mock_data(n_nodes = 5, n_edges = 20, n_groups = 6)

ggplot(data = data) +
  geom_glyph(
    edge_fill = pal_uchicago(),
    node_fill = "black",
    node_colour = pal_uchicago()
  ) +
  facet_wrap(~ group)

Citation

To cite the package use:

Velev, V., & Spitz, A. (2025). gglyph: Network-Style Visualization Of Directed Pairwise Relationships. R package version 0.2.0. https://github.com/valentinsvelev/gglyph

Or for LaTeX users:

@Manual{,
  title = {{gglyph: Network-Style Visualization Of Directed Pairwise Relationships}},
  author = {Velev, Valentin and Spitz, Andreas},
  year = {2025},
  note = {R package version 0.2.0},
  url = {https://github.com/valentinsvelev/gglyph}
}