plot.critFun {blockmodeling} | R Documentation |
Functions for plotting a partitioned matrix (representing the network)
Description
The main function plot.mat
or plotMat
plots a (optionally partitioned) matrix.
If the matrix is partitioned, the rows and columns of the matrix are rearranged according to the partitions.
Other functions are only wrappers for plot.mat
or plotMat
for convenience when plotting the results of the corresponding functions.
The plotMatNm
plots two matrices based on M, normalized by rows and columns, next to each other. The plotArray
plots an array. plot.mat.nm
has been replaced by plotMatNm
.
Usage
## S3 method for class 'critFun'
plot(x, main = NULL, ...)
## S3 method for class 'crit.fun'
plot(x, main = NULL, ...)
plotMatNm(
M = x,
x = M,
...,
main.title = NULL,
title.row = "Row normalized",
title.col = "Column normalized",
main.title.line = -2,
par.set = list(mfrow = c(1, 2))
)
## S3 method for class 'optMorePar'
plot(x, main = NULL, which = 1, ...)
## S3 method for class 'opt.more.par'
plot(x, main = NULL, which = 1, ...)
## S3 method for class 'optMoreParMode'
plot(x, main = NULL, which = 1, ...)
## S3 method for class 'opt.more.par.mode'
plot(x, main = NULL, which = 1, ...)
## S3 method for class 'optPar'
plot(x, main = NULL, which = 1, ...)
## S3 method for class 'opt.par'
plot(x, main = NULL, which = 1, ...)
## S3 method for class 'optParMode'
plot(x, main = NULL, which = 1, ...)
## S3 method for class 'opt.par.mode'
plot(x, main = NULL, which = 1, ...)
plotMat(
x = M,
clu = NULL,
orderClu = FALSE,
M = x,
ylab = "",
xlab = "",
main = NULL,
print.val = !length(table(M)) <= 2,
print.0 = FALSE,
plot.legend = !print.val && !length(table(M)) <= 2,
print.legend.val = "out",
print.digits.legend = 2,
print.digits.cells = 2,
print.cells.mf = NULL,
outer.title = FALSE,
title.line = ifelse(outer.title, -1.5, 7),
mar = c(0.5, 7, 8.5, 0) + 0.1,
cex.val = "default",
val.y.coor.cor = 0,
val.x.coor.cor = 0,
cex.legend = 1,
legend.title = "Legend",
cex.axes = "default",
print.axes.val = NULL,
print.x.axis.val = !is.null(colnames(M)),
print.y.axis.val = !is.null(rownames(M)),
x.axis.val.pos = 1.01,
y.axis.val.pos = -0.01,
cex.main = par()$cex.main,
cex.lab = par()$cex.lab,
yaxis.line = -1.5,
xaxis.line = -1,
legend.left = 0.4,
legend.up = 0.03,
legend.size = 1/min(dim(M)),
legend.text.hor.pos = 0.5,
par.line.width = 3,
par.line.width.newSet = par.line.width[1] * 2,
par.line.col = "blue",
par.line.col.newSet = "red",
IM.dens = NULL,
IM = NULL,
wnet = NULL,
wIM = NULL,
use.IM = length(dim(IM)) == length(dim(M)) | !is.null(wIM),
dens.leg = c(null = 100, nul = 100),
blackdens = 70,
plotLines = FALSE,
frameMatrix = TRUE,
x0ParLine = -0.1,
x1ParLine = 1,
y0ParLine = 0,
y1ParLine = 1.1,
colByUnits = NULL,
colByRow = NULL,
colByCol = NULL,
mulCol = 2,
joinColOperator = "+",
colTies = FALSE,
maxValPlot = NULL,
printMultipliedMessage = TRUE,
replaceNAdiagWith0 = TRUE,
colLabels = FALSE,
MplotValues = NULL,
...
)
plotArray(
x = M,
M = x,
IM = NULL,
...,
main.title = NULL,
main.title.line = -2,
mfrow = NULL
)
## S3 method for class 'mat'
plot(
x = M,
clu = NULL,
orderClu = FALSE,
M = x,
ylab = "",
xlab = "",
main = NULL,
print.val = !length(table(M)) <= 2,
print.0 = FALSE,
plot.legend = !print.val && !length(table(M)) <= 2,
print.legend.val = "out",
print.digits.legend = 2,
print.digits.cells = 2,
print.cells.mf = NULL,
outer.title = FALSE,
title.line = ifelse(outer.title, -1.5, 7),
mar = c(0.5, 7, 8.5, 0) + 0.1,
cex.val = "default",
val.y.coor.cor = 0,
val.x.coor.cor = 0,
cex.legend = 1,
legend.title = "Legend",
cex.axes = "default",
print.axes.val = NULL,
print.x.axis.val = !is.null(colnames(M)),
print.y.axis.val = !is.null(rownames(M)),
x.axis.val.pos = 1.01,
y.axis.val.pos = -0.01,
cex.main = par()$cex.main,
cex.lab = par()$cex.lab,
yaxis.line = -1.5,
xaxis.line = -1,
legend.left = 0.4,
legend.up = 0.03,
legend.size = 1/min(dim(M)),
legend.text.hor.pos = 0.5,
par.line.width = 3,
par.line.width.newSet = par.line.width[1] * 2,
par.line.col = "blue",
par.line.col.newSet = "red",
IM.dens = NULL,
IM = NULL,
wnet = NULL,
wIM = NULL,
use.IM = length(dim(IM)) == length(dim(M)) | !is.null(wIM),
dens.leg = c(null = 100, nul = 100),
blackdens = 70,
plotLines = FALSE,
frameMatrix = TRUE,
x0ParLine = -0.1,
x1ParLine = 1,
y0ParLine = 0,
y1ParLine = 1.1,
colByUnits = NULL,
colByRow = NULL,
colByCol = NULL,
mulCol = 2,
joinColOperator = "+",
colTies = FALSE,
maxValPlot = NULL,
printMultipliedMessage = TRUE,
replaceNAdiagWith0 = TRUE,
colLabels = FALSE,
MplotValues = NULL,
...
)
Arguments
x |
A result from a corresponding function or a matrix or similar object representing a network. |
main |
Main title. |
... |
Additional arguments to |
M |
A matrix or similar object representing a network - either |
main.title |
Main title in |
title.row |
Title for the row-normalized matrix in nm version |
title.col |
Title for the column-normalized matrix in nm version |
main.title.line |
The line in which main title is printed in |
par.set |
A list of possible plotting parameters (to |
which |
Which (if there are more than one) of optimal solutions to plot. |
clu |
A partition. Each unique value represents one cluster. If the network is one-mode, then this should be a vector, else a list of vectors, one for each mode/set. |
orderClu |
Should the partition be ordered before plotting. |
ylab |
Label for y axis. |
xlab |
Label for x axis. |
print.val |
Should the values be printed in the matrix. |
print.0 |
If |
plot.legend |
Should the legend for shades be plotted. |
print.legend.val |
Should the values be printed in the legend. |
print.digits.legend |
The number of digits that should appear in the legend. |
print.digits.cells |
The number of digits that should appear in the cells (of the matrix and/or legend). |
print.cells.mf |
If not |
outer.title |
Should the title be printed on the 'inner' or 'outer' margin of the plot, default is 'inner' margin. |
title.line |
The line (from the top) where the title should be printed. The suitable values depend heavily on the displayed type. |
mar |
A numerical vector of the form |
cex.val |
The size of the values printed. The default is |
val.y.coor.cor |
Correction for centering the values in the squares in y direction. |
val.x.coor.cor |
Correction for centering the values in the squares in x direction. |
cex.legend |
Size of the text in the legend. |
legend.title |
The title of the legend. |
cex.axes |
Size of the characters in axes. Default makes the cex so small that all categories can be printed. |
print.axes.val |
Should the axes values be printed. Default prints each axis if |
print.x.axis.val |
Should the x axis values be printed. Default prints each axis if |
print.y.axis.val |
Should the y axis values be printed. Default prints each axis if |
x.axis.val.pos |
The x coordinate of the y axis values. |
y.axis.val.pos |
The y coordinate of the x axis values. |
cex.main |
Size of the text in the main title. |
cex.lab |
Size of the text in matrix. |
yaxis.line |
The position of the y axis (the argument 'line'). |
xaxis.line |
The position of the x axis (the argument 'line'). |
legend.left |
How much left should the legend be from the matrix. |
legend.up |
How much up should the legend be from the matrix. |
legend.size |
Relative legend size. |
legend.text.hor.pos |
Horizontal position of the legend text (bottom) - 0 = bottom, 0.5 = middle,... |
par.line.width |
The width of the line that separates the partitions. |
par.line.width.newSet |
The width of the line that separates that separates the sets/modes - only used when |
par.line.col |
The color of the line that separates the partitions. |
par.line.col.newSet |
The color of the line that separates that separates the sets/modes - only used when |
IM.dens |
The density of shading lines in each block. |
IM |
The image (as obtained with |
wnet |
Specifies which matrix (if more) should be plotted - used if |
wIM |
Specifies which |
use.IM |
Specifies if |
dens.leg |
It is used to translate the |
blackdens |
At which density should the values on dark colors of lines be printed in white. |
plotLines |
Should the lines in the matrix be printed. The default value is set to |
frameMatrix |
Should the matrix be framed (if |
x0ParLine |
Coordinates for lines separating clusters. |
x1ParLine |
Coordinates for lines separating clusters. |
y0ParLine |
Coordinates for lines separating clusters. |
y1ParLine |
Coordinates for lines separating clusters. |
colByUnits |
Coloring units. It should be a vector of unit length. |
colByRow |
Coloring units by rows. It should be a vector of unit length. |
colByCol |
Coloring units by columns. It should be a vector of unit length. |
mulCol |
Multiply color when joining with row, column. Only used when when |
joinColOperator |
Function to join |
colTies |
If |
maxValPlot |
The value to use as a maximum when computing colors (ties with maximal positive value are plotted as black). |
printMultipliedMessage |
Should the message '* all values in cells were multiplied by' be printed on the plot. The default value is set to |
replaceNAdiagWith0 |
If |
colLabels |
Should the labels of units be colored. If |
MplotValues |
A matrix to strings to plot in cells. Only to be used if other values than those in the original matrix ( |
mfrow |
|
Value
The functions are used for their side effect - plotting.
Author(s)
Aleš Žiberna
References
Žiberna, A. (2007). Generalized Blockmodeling of Valued Networks. Social Networks, 29(1), 105-126. doi: 10.1016/j.socnet.2006.04.002
Žiberna, A. (2008). Direct and indirect approaches to blockmodeling of valued networks in terms of regular equivalence. Journal of Mathematical Sociology, 32(1), 57-84. doi: 10.1080/00222500701790207
See Also
Examples
# Generation of the network
n <- 20
net <- matrix(NA, ncol = n, nrow = n)
clu <- rep(1:2, times = c(5, 15))
tclu <- table(clu)
net[clu == 1, clu == 1] <- rnorm(n = tclu[1] * tclu[1], mean = 0, sd = 1)
net[clu == 1, clu == 2] <- rnorm(n = tclu[1] * tclu[2], mean = 4, sd = 1)
net[clu == 2, clu == 1] <- rnorm(n = tclu[2] * tclu[1], mean = 0, sd = 1)
net[clu == 2, clu == 2] <- rnorm(n = tclu[2] * tclu[2], mean = 0, sd = 1)
# Ploting the network
plotMat(M = net, clu = clu, print.digits.cells = 3)
class(net) <- "mat"
plot(net, clu = clu)
# See corresponding functions for examples for other ploting
# functions
# presented, that are essentially only the wrappers for "plot.max"