Learn R Programming

circlize (version 0.4.16)

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 = mm_h(2),
    link.target.prop = TRUE,
    target.prop.height = mm_h(1),
    reduce = 1e-5,
    self.link = 2,
    preAllocateTracks = NULL,
    annotationTrack = c("name", "grid", "axis"),
    annotationTrackHeight = mm_h(c(3, 2)),
    link.border = NA,
    link.lwd = par("lwd"),
    link.lty = par("lty"),
    link.auto = TRUE,
    link.sort = "default",
    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.zindex = NULL,
    link.overlap = FALSE,
    scale = FALSE,
    group = NULL,
    big.gap = 10,
    small.gap = 1,
    ...)

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)

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.

grid.col

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

grid.border

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

transparency

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

col

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

row.col

pass to chordDiagramFromMatrix

column.col

pass to chordDiagramFromMatrix

order

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

directional

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

xmax

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

symmetric

pass to chordDiagramFromMatrix

keep.diagonal

pass to chordDiagramFromMatrix

direction.type

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

diffHeight

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.target.prop

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

target.prop.height

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

reduce

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

self.link

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

preAllocateTracks

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

annotationTrack

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

annotationTrackHeight

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.border

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.lwd

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.lty

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.auto

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.sort

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.decreasing

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.arr.length

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.arr.width

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.arr.type

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.arr.lty

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.arr.lwd

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.arr.col

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.largest.ontop

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.visible

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

link.rank

This is argument is removed.

link.zindex

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

link.overlap

pass to chordDiagramFromMatrix or chordDiagramFromDataFrame

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.

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

Examples

Run this code
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