/
chorddiag.Rd
142 lines (110 loc) · 5.59 KB
/
chorddiag.Rd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/chorddiag.R
\name{chorddiag}
\alias{chorddiag}
\title{Create a D3 Chord Diagram}
\source{
Based on \url{http://bl.ocks.org/mbostock/4062006} with several
modifications.
}
\usage{
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)
}
\arguments{
\item{data}{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 \code{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.}
\item{type}{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).}
\item{width}{Width for the chord diagram's frame area in pixels (if NULL then
width is automatically determined based on context).}
\item{height}{Height for the chord diagram's frame area in pixels (if NULL
then height is automatically determined based on context).}
\item{margin}{Numeric margin in pixels between the outer diagram radius and
the edge of the display.}
\item{palette}{A character string. The name of the colorbrewer palette to be
used. For bipartite diagrams, the palette is used for the column groups.}
\item{palette2}{A character string. Only used for bipartite diagrams where it
is the name of the colorbrewer palette to be used for the row groups.}
\item{showGroupnames}{A logical scalar.}
\item{groupNames}{A vector of character strings to be used for group
labeling.}
\item{groupColors}{A vector of colors to be used for the groups. Specifying
\code{groupColors} overrides any \code{palette} given. For bipartite
diagrams, the colors used for the row groups must precede the colors for
the column groups.}
\item{groupThickness}{Numeric thickness for the groups as a fraction of the
total diagram radius.}
\item{groupPadding}{Numeric padding in degrees between groups.}
\item{groupnamePadding}{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.}
\item{groupnameFontsize}{Numeric font size in pixels for the group labels.}
\item{groupedgeColor}{Color for the group edges. If NULL group colors will be
used.}
\item{chordedgeColor}{Color for the chord edges.}
\item{categoryNames}{A length-2 vector of character strings to be used for
category labels (left and right side of a bipartite chord diagram).}
\item{categorynamePadding}{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.}
\item{categorynameFontsize}{Numeric font size in pixels for the category
labels in a bipartite diagram.}
\item{showTicks}{A logical scalar.}
\item{tickInterval}{A numeric value.}
\item{ticklabelFontsize}{Numeric font size in pixels for the tick labels.}
\item{fadeLevel}{Numeric chord fade level (opacity value between 0 and 1,
defaults to 0.1).}
\item{showTooltips}{A logical scalar (defaults to TRUE).}
\item{showZeroTooltips}{A logical scalar (defaults to TRUE). If set to FALSE,
tooltips for the value zero are hidden.}
\item{tooltipNames}{A vector of character strings to be used for group
labeling in tooltips. By default equal to \code{groupNames}.}
\item{tooltipUnit}{A character string for the units to be used in tooltips.}
\item{tooltipFontsize}{Numeric font size in pixels for the tooltips.}
\item{tooltipGroupConnector}{A character string to be used in tooltips:
"<source group> <tooltipGroupConnector> <target group>". Defaults to a
triangle pointing from source to target.}
\item{precision}{Integer number of significant digits to be used for tooltip
display.}
\item{clickAction}{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}
\item{clickGroupAction}{character string containing JavaScript code to be executed
on a mouse click so that shiny can get the groupIndex}
}
\description{
Create an interactive chord diagram using the JavaScript visualization
library D3 (\url{http://d3js.org}). More specifically, the chord diagram
layout is based on \url{http://bl.ocks.org/mbostock/4062006}. Chord diagrams
show directed relationships among a group of entities.
}
\examples{
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)
}