Create an interactive chord diagram using the JavaScript visualization library D3 (http://d3js.org). More specifically, the chord diagram layout is based on http://bl.ocks.org/mbostock/4062006. Chord diagrams show directed relationships among a group of entities.
chorddiag(
data,
type = "directional",
width = NULL,
height = NULL,
margin = 100,
palette = "Dark2",
palette2 = "Greys",
showGroupnames = TRUE,
groupNames = NULL,
groupColors = NULL,
groupThickness = 0.1,
groupPadding = 2,
groupnamePadding = 30,
groupnameFontsize = 18,
groupedgeColor = NULL,
chordedgeColor = "#808080",
categoryNames = NULL,
categorynamePadding = 100,
categorynameFontsize = 28,
showTicks = TRUE,
tickInterval = NULL,
ticklabelFontsize = 10,
fadeLevel = 0.1,
showTooltips = TRUE,
showZeroTooltips = TRUE,
tooltipNames = NULL,
tooltipUnit = NULL,
tooltipFontsize = 12,
tooltipGroupConnector = " ▶ ",
precision = NULL,
clickAction = NULL,
clickGroupAction = NULL
)
A matrix containing the data. Must be square for the
"directional" type. Column names of the matrix (if existing) will be used
as group labels unless the groupNames
argument is explicitely set.
For the "bipartite" type, the column names label the groups on the left
side of the chord diagram whereas the row names label the groups on the
right side.
A character string for the type of chord diagram. Either "directional" (default) or "bipartite" (chord diagrams can be helpful for visualising symmetric relations between two categories of groups, i.e. contingency tables).
Width for the chord diagram's frame area in pixels (if NULL then width is automatically determined based on context).
Height for the chord diagram's frame area in pixels (if NULL then height is automatically determined based on context).
Numeric margin in pixels between the outer diagram radius and the edge of the display.
A character string. The name of the colorbrewer palette to be used. For bipartite diagrams, the palette is used for the column groups.
A character string. Only used for bipartite diagrams where it is the name of the colorbrewer palette to be used for the row groups.
A logical scalar.
A vector of character strings to be used for group labeling.
A vector of colors to be used for the groups. Specifying
groupColors
overrides any palette
given. For bipartite
diagrams, the colors used for the row groups must precede the colors for
the column groups.
Numeric thickness for the groups as a fraction of the total diagram radius.
Numeric padding in degrees between groups.
Numeric padding in pixels between diagram (outer circle) and group labels. Use this argument if group labels overlap with tick labels. Either a scalar value to be applied to all group labels or a numeric vector specifying padding for each group label separately.
Numeric font size in pixels for the group labels.
Color for the group edges. If NULL group colors will be used.
Color for the chord edges.
A length-2 vector of character strings to be used for category labels (left and right side of a bipartite chord diagram).
Numeric padding in pixels between diagram (outer circle) and category labels in bipartite diagrams. Use this argument if category labels overlap with tick or group labels.
Numeric font size in pixels for the category labels in a bipartite diagram.
A logical scalar.
A numeric value.
Numeric font size in pixels for the tick labels.
Numeric chord fade level (opacity value between 0 and 1, defaults to 0.1).
A logical scalar (defaults to TRUE).
A logical scalar (defaults to TRUE). If set to FALSE, tooltips for the value zero are hidden.
A vector of character strings to be used for group
labeling in tooltips. By default equal to groupNames
.
A character string for the units to be used in tooltips.
Numeric font size in pixels for the tooltips.
A character string to be used in tooltips: "<source group> <tooltipGroupConnector> <target group>". Defaults to a triangle pointing from source to target.
Integer number of significant digits to be used for tooltip display.
character string containing JavaScript code to be executed on a mouse click so that shiny can get the sourceIndex and targetIndex for the purpose of filtering the data on other visualizations
character string containing JavaScript code to be executed on a mouse click so that shiny can get the groupIndex
# NOT RUN {
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)
groupnames <- c("black", "blonde", "brown", "red")
row.names(m) <- groupnames
colnames(m) <- groupnames
chorddiag(m)
# }
Run the code above in your browser using DataLab