| chordDiagram {circlize} | R Documentation |
Plot Chord Diagram
chordDiagram(x, grid.col = NULL, grid.border = NA, transparency = 0.5,
col = NULL, row.col = NULL, column.col = NULL,
order = NULL, directional = 0,
symmetric = FALSE, keep.diagonal = FALSE,
direction.type = "diffHeight", diffHeight = convert_height(2, "mm"),
reduce = 1e-5, self.link = 2,
preAllocateTracks = NULL,
annotationTrack = c("name", "grid", "axis"),
annotationTrackHeight = convert_height(c(3, 2), "mm"),
link.border = NA, link.lwd = par("lwd"), link.lty = par("lty"),
link.sort = FALSE, link.decreasing = TRUE,
link.arr.length = ifelse(link.arr.type == "big.arrow", 0.02, 0.4),
link.arr.width = link.arr.length/2,
link.arr.type = "triangle", link.arr.lty = par("lty"),
link.arr.lwd = par("lwd"), link.arr.col = par("col"),
link.largest.ontop = FALSE, link.visible = TRUE,
link.rank = NULL, ...)
Chord diagram is a way to visualize numeric tables ( http://circos.ca/intro/tabular_visualization/ ), especially useful when the table represents information of directional relations. This function visualize tables in a circular way.
This function is flexible and contains some settings that may be a little difficult to understand. Please refer to vignette for better explanation.
A data frame which contains positions of links, columns are:
rnsector name corresponding to rows in the adjacency matrix or the first column in the adjacency list
cnsector name corresponding to columns in the adjacency matrix or the second column in the adjacency list
valuevalue for the interaction or relation
o1order of the link on the "from" sector
o2order of the link on the "to" sector
x1and position of the link on the "from" sector, the interval for the link on the "from" sector is c(x1-abs(value), x1)
x2and position of the link on the "to" sector, the interval for the link on the "from" sector is c(x2-abs(value), x2)
Gu, Z. (2014) circlize implements and enhances circular visualization in R. Bioinformatics.
http://jokergoo.github.io/circlize_book/book/the-chorddiagram-function.html
set.seed(999)
mat = matrix(sample(18, 18), 3, 6)
rownames(mat) = paste0("S", 1:3)
colnames(mat) = paste0("E", 1:6)
df = data.frame(from = rep(rownames(mat), times = ncol(mat)),
to = rep(colnames(mat), each = nrow(mat)),
value = as.vector(mat),
stringsAsFactors = FALSE)
chordDiagram(mat)
chordDiagram(df)
circos.clear()