Plots a spot matrix.
Usage
plot_spot(object, ...)
# S4 method for class 'matrix'
plot_spot(
object,
type = c("ring", "plain"),
color = NULL,
diag = TRUE,
upper = TRUE,
lower = TRUE,
freq = FALSE,
margin = 1,
axes = TRUE,
legend = TRUE,
...
)
# S4 method for class 'data.frame'
plot_spot(
object,
type = c("ring", "plain"),
color = NULL,
diag = TRUE,
upper = TRUE,
lower = TRUE,
freq = FALSE,
margin = 1,
axes = TRUE,
legend = TRUE,
...
)
# S4 method for class 'dist'
plot_spot(
object,
type = c("ring", "plain"),
color = NULL,
diag = FALSE,
upper = FALSE,
lower = !upper,
axes = TRUE,
legend = TRUE,
...
)
Arguments
- object
A \(m \times p\)
numeric
matrix
ordata.frame
of count data (absolute frequencies giving the number of individuals for each category, i.e. a contingency table).- ...
Currently not used.
- type
A
character
string specifying the graph to be plotted. It must be one of "ring
" (the default) or "plain
". Any unambiguous substring can be given.- color
A vector of colors or a
function
that when called with a single argument (an integer specifying the number of colors) returns a vector of colors.- diag
A
logical
scalar indicating whether the diagonal of the matrix should be plotted. Only used ifobject
is a symmetric matrix.- upper
A
logical
scalar indicating whether the upper triangle of the matrix should be plotted. Only used ifobject
is a symmetric matrix.- lower
A
logical
scalar indicating whether the lower triangle of the matrix should be plotted. Only used ifobject
is a symmetric matrix.- freq
A
logical
scalar indicating whether conditional proportions givenmargins
should be used (i.e. entries ofobject
, divided by the appropriate marginal sums).- margin
An
integer
vector giving the margins to split by:1
indicates individuals/rows (the default),2
indicates variables/columns. Only used iffreq
isTRUE
.- axes
A
logical
scalar: should axes be drawn on the plot? It will omit labels where they would abut or overlap previously drawn labels.- legend
A
logical
scalar: should a legend be displayed?
Value
plot_spot()
is called for its side-effects: it results in a graphic
being displayed (invisibly returns object
).
Details
The spot matrix can be considered as a variant of the Bertin diagram where the data are first transformed to relative frequencies.
Note
Adapted from Dan Gopstein's original idea.
See also
Other plot methods:
matrigraph()
,
plot_bertin()
,
plot_diceleraas()
,
plot_ford()
,
plot_heatmap()
,
plot_rank()
,
seriograph()
Examples
## Data from Huntley 2004, 2008
data("pueblo")
## Plot spot diagram of count data
plot_spot(pueblo, type = "ring")
plot_spot(pueblo, type = "plain")
## Plot conditional proportions
plot_spot(pueblo, freq = TRUE, margin = 1)
plot_spot(pueblo, freq = TRUE, margin = 2)