Learn R Programming

circlize (version 0.4.10)

chordDiagram: Plot Chord Diagram

Description

Plot Chord Diagram

Usage

chordDiagram(
    x,
    grid.col = NULL,
    grid.border = NA,
    transparency = 0.5,
    col = NULL,
    row.col = NULL,
    column.col = NULL,
    order = NULL,
    directional = 0,
    xmax = NULL,
    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,
    link.overlap = FALSE,
    scale = FALSE,
    group = NULL,
    big.gap = 10,
    small.gap = 1,
    ...)

Arguments

x

a matrix or a data frame. The function will pass all argument to chordDiagramFromMatrix or chordDiagramFromDataFrame depending on the type of x, also format of other arguments depends of the type of x. If it is in the form of a matrix, it should be an adjacency matrix. If it is in the form of a data frame, it should be an adjacency list.

row.col
column.col
xmax

maximum value on x-axes, the value should be a named vector.

symmetric
keep.diagonal
annotationTrackHeight
link.rank

order to add links to the circle, a large value means to add it later.

scale

scale each sector to same width

group

It contains the group labels and the sector names are used as the names in the vector.

big.gap

Gap between the two sets of sectors. If the input is a matrix, the two sets are row sectors and column sectors. If the input is a data frame, the two sets correspond to the first column and the second column. It only works when there is no intersection between the two sets.

small.gap

Small gap between sectors.

...

pass to circos.link.

Value

A data frame which contains positions of links, columns are:

rn

sector name corresponding to rows in the adjacency matrix or the first column in the adjacency list

cn

sector name corresponding to columns in the adjacency matrix or the second column in the adjacency list

value

value for the interaction or relation

o1

order of the link on the "from" sector

o2

order of the link on the "to" sector

x1

and position of the link on the "from" sector, the interval for the link on the "from" sector is c(x1-abs(value), x1)

x2

and position of the link on the "to" sector, the interval for the link on the "from" sector is c(x2-abs(value), x2)

Details

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.

See Also

https://jokergoo.github.io/circlize_book/book/the-chorddiagram-function.html

Examples

Run this code
# NOT RUN {
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()
# }

Run the code above in your browser using DataLab