This post describes how to build an interactive chord diagram on which you can hover groups to highlight flows using the chorddiag package.
The chorddiag package allows to build interactive chord diagrams with R. It expects a square matrix as input, providing flow strength between each pair of nodes that will be displayed around the circle.
Once the data formated properly, the chorddiag()
function will automatically build the chart for you.
Note: The chorddiag package is a project by Mattflor and this example comes from its documentation.
# Load package
# devtools::install_github("mattflor/chorddiag")
library(chorddiag)
# Create dummy data
m <- matrix(
c(
11975, 5871, 8916, 2868,
1951, 10048, 2060, 6171,
8010, 16145, 8090, 8045,
1013, 990, 940, 6907
),
byrow = TRUE,
nrow = 4, ncol = 4
)
# A vector of 4 colors for 4 groups
haircolors <- c("black", "blonde", "brown", "red")
dimnames(m) <- list(
have = haircolors,
prefer = haircolors
)
groupColors <- c("#000000", "#FFDD89", "#957244", "#F26223")
# Build the chord diagram:
p <- chorddiag(m, groupColors = groupColors, groupnamePadding = 20)
p
# save the widget
# library(htmlwidgets)
# saveWidget(p, file=paste0( getwd(), "/HtmlWidget/chord_interactive.html"))
👋 After crafting hundreds of R charts over 12 years, I've distilled my top 10 tips and tricks. Receive them via email! One insight per day for the next 10 days! 🔥