Plot Chord Diagram from an adjacency matrix
chordDiagramFromMatrix(
mat,
grid.col = NULL,
grid.border = NA,
transparency = 0.5,
col = NULL,
row.col = NULL,
column.col = NULL,
order = NULL,
directional = 0,
direction.type = "diffHeight",
diffHeight = mm_h(2),
link.target.prop = TRUE,
target.prop.height = mm_h(1),
reduce = 1e-5,
xmax = NULL,
self.link = 2,
symmetric = FALSE,
keep.diagonal = FALSE,
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,
...)
A data frame which contains positions of links, see explanation in chordDiagram
.
A table which represents as a numeric matrix.
Grid colors which correspond to matrix rows/columns (or sectors). The length of the vector should be either 1 or length(union(rownames(mat), colnames(mat)))
.
It's preferred that grid.col
is a named vector of which names correspond to sectors.
If it is not a named vector, the order of grid.col
corresponds to order of sectors.
border for grids. If it is NULL
, the border color is same as grid color
Transparency of link colors, 0 means no transparency and 1 means full transparency.
If transparency is already set in col
or row.col
or column.col
, this argument will be ignored.
NA
also ignores this argument.
Colors for links. It can be a matrix which corresponds to mat
, or a function which generate colors
according to values in mat
, or a single value which means colors for all links are the same, or a three-column
data frame in which the first two columns correspond to row names and columns and the third column is colors. You
may use colorRamp2
to generate a function which maps values to colors.
Colors for links. Links from the same row in mat
will have the same color.
Length should be same as number of rows in mat
. This argument only works when col
is set to NULL
.
Colors for links. Links from the same column in mat
will have the same color.
Length should be same as number of columns in mat
. This argument only works when col
and row.col
is set to NULL
.
Order of sectors. Default order is union(df[[1]], df[[2]])
.
Whether links have directions. 1 means the direction is from the first column in df
to the second column, -1
is the reverse, 0 is no direction, and 2 for two directional. Same setting as link.border
.
maximum value on x-axes, the value should be a named vector.
type for representing directions. Can be one or two values in "diffHeight" and "arrows". If the value contains "diffHeight",
different heights of the links are used to represent the directions for which starting root has long height to give people feeling
that something is comming out. If the value contains "arrows", users can customize arrows with following arguments.
Same setting as link.border
. Note if you want to set both diffHeight
and arrows
for certain links, you need to embed these two options into one string such as "diffHeight+arrows"
.
The difference of height between two 'roots' if directional
is set to TRUE
. If the value is set to
a positive value, start root is shorter than end root and if it is set to a negative value, start root is longer
than the end root.
If the Chord diagram is directional, for each source sector, whether to draw bars that shows the proportion of target sectors.
The height of the bars when link.target.prop
is turned on.
if the ratio of the width of certain grid compared to the whole circle is less than this value, the grid is removed on the plot. Set it to value less than zero if you want to keep all tiny grid.
if there is a self link in one sector, 1 means the link will be degenerated as a 'mountain' and the width corresponds to the value for this connection. 2 means the width of the starting root and the ending root all have the width that corresponds to the value for the connection.
Whether the matrix is symmetric. If the value is set to TRUE
, only
lower triangular matrix without the diagonal will be used.
If the matrix is specified as symmetric, whether keep diagonal for visualization.
Pre-allocate empty tracks before drawing Chord diagram. It can be a single number indicating how many empty tracks needed to be created or a list containing settings for empty tracks. Please refer to vignette for details.
Which annotation track should be plotted? By default, a track containing sector names and a track containing grid will be created.
Track height corresponding to values in annotationTrack
.
border for links, single scalar or a matrix with names or a data frame with three columns
width for link borders, single scalar or a matrix with names or a data frame with three columns
style for link borders, single scalar or a matrix with names or a data frame with three columns
Ignored.
whether sort links on every sector based on the width of the links on it. The value can be logical. The value can also be string
"default" which automatically adjusts link orders so that links have minimal overall intersections. The value can also be a string
"asis" and it is only workable for input as a data frame so that the links have the same orders as in the original data frame.# -link.decreasing for link.sort
for link.sort
pass to circos.link
. The format of this argument is same as link.lwd
.
pass to Arrowhead
. The format of this argument is same as link.lwd
.
pass to circos.link
, same format as link.lwd
. Default value is triangle
.
color or the single line link which is put in the center of the belt. The format of this argument is same as link.lwd
.
line width ofthe single line link which is put in the center of the belt. The format of this argument is same as link.lwd
.
line type of the single line link which is put in the center of the belt. The format of this argument is same as link.lwd
.
controls the order of adding links, whether based on the absolute value?
whether plot the link. The value is logical, if it is set to FALSE
, the corresponding link will not
plotted, but the space is still ocuppied. The format of this argument is same as link.lwd
This is argument is removed.
order to add links to the circle, a large value means to add it later.
if it is a directional Chord Diagram, whether the links that come or end in a same sector overlap?
scale each sector to same width
It contains the group labels and the sector names are used as the names in the vector.
Gap between row sectors and column sectors.
Small gap between sectors.
pass to circos.link
Internally, the matrix is transformed to a data frame and sent to chordDiagramFromDataFrame
.