plot.mat {blockmodeling} | R Documentation |
The main function plot.mat
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
for convenience when plotting the results of the corresponding functions. The plot.mat.nm
plots two matrices based on M, normalized by rows and columns, next to each other.
plot.mat(x=M, M=x, clu = NULL, 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 = !plot.legend, 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.1, y.axis.val.pos = -0.1, 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.col = "blue", IM.dens = NULL, IM = NULL, wnet = 1, wIM = NULL, use.IM = length(dim(IM))==length(dim(M))|!is.null(wIM), dens.leg = c(null = 100), blackdens = 70, plotLines = TRUE, ...) plot.mat.nm(x=M, M=x, ..., 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 'mat': plot(x=M, M=x, clu = NULL, 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 = !plot.legend, 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.1, y.axis.val.pos = -0.1, 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.col = "blue", IM.dens = NULL, IM = NULL, wnet = 1, wIM = NULL, use.IM = length(dim(IM)) == length(dim(M)) | !is.null(wIM), dens.leg = c(null = 100), blackdens = 70, plotLines = TRUE, ...) ## S3 method for class 'crit.fun': plot(x, main = NULL, ...) ## S3 method for class 'opt.par': plot(x, main = NULL, which = 1, ...) ## S3 method for class 'opt.par.mode': plot(x, main = NULL, which = 1, ...) ## S3 method for class 'opt.more.par': plot(x, main = NULL, which = 1, ...) ## S3 method for class 'opt.more.par.mode': plot(x, main = NULL, which = 1, ...) ## S3 method for class 'check.these.par': plot(x, main = NULL, which = 1, ...)
x |
A result from a corespodning function or a matrix or similar object representing a network |
M |
A matrix or similar object representing a network - either x or M must be supplied - both are here to make the code compatible with generic and with older functions |
clu |
A partition |
ylab |
Label for y axis |
xlab |
Label for x axis |
main |
Main title |
main.title |
Main title in nm version |
main.title.line |
The line in which main title is printed in nm version |
title.row |
Title for the row-normalized matrix in nm version |
title.col |
Title for the column-normalized matrix in nm version |
par.set |
A list of possible ploting paramters (to par ) to be used in nm version |
print.val |
Should the values be printed in the matrix |
print.0 |
If print.val=TRUE Should the 0s be printed in the matrix |
plot.legend |
Should the legend for shades be ploted |
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 NULL , the above argument is igonred, the cell values are printed as the cell are multiplied by this factor and rounded |
outer.title |
Should the title be printed on the 'inner' or 'outer' plot, default is 'inner' if legend is ploted and 'outer' otherwise. May be soon omited. |
title.line |
The line (from the top) where the title should be printed. The suitable values depend heavily on the displey type. |
mar |
A numerical vector of the form 'c(bottom, left, top, right)' which gives the lines of margin to be specified on the four sides of the plot. The R default for ordianry plots is 'c(5, 4, 4, 2) + 0.1', while this functions default is c(0.5, 7, 8.5, 0) + 0.1. |
cex.val |
Size of the values printed. The "default" is 10/"number of units" |
val.y.coor.cor |
Correction for centering the values in the sqares in y direction |
val.x.coor.cor |
Correction for centering the values in the sqares 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 'rownames' or 'colnames' is not 'NULL' |
print.x.axis.val |
Should the x axis values be printed, 'default' prints each axis if 'rownames' or 'colnames' is not 'NULL' |
print.y.axis.val |
Should the y axis values be printed, 'default' prints each axis if 'rownames' or 'colnames' is not 'NULL' |
x.axis.val.pos |
x coordiante of the y axis values |
y.axis.val.pos |
y coordiante 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 seperates the partitions |
par.line.col |
The color of the line that seperates the partitions |
IM.dens |
The densitiey of shading lines for each block |
IM |
The image (as obtaind with crit.fun ) of the blockmodel. dens.leg is used to translate this image into IM.dens . |
dens.leg |
It is used to translate the IM into IM.dens . |
blackdens |
At which density should the values on dark colurs of lines be printed in white. |
plotLines |
Should the lines in the matrix be printed - default TRUE, best set to FALSE for larger networks. |
which |
Which (if there are more than one) of optimal solutions to plot |
wnet |
Specifies which net (if more) should be ploted - used if M is an array. |
wIM |
Specifies which IM (if more) should be used for ploting (defualt = wnet) - used if IM is an array. |
use.IM |
Specifies if IM should IM be used for ploting? be used for ploting? |
... |
Aditional arguments to plot.default for plot.mat and also to plot.mat for other functions |
The functions are used for their side affect - plotting.
Aleš Žiberna
ŽIBERNA, Aleš (2006): Generalized Blockmodeling of Valued Networks. Social Networks, Jan. 2007, vol. 29, no. 1, 105-126. http://dx.doi.org/10.1016/j.socnet.2006.04.002.
ŽIBERNA, Aleš. Direct and indirect approaches to blockmodeling of valued networks in terms of regular equivalence. J. math. sociol., 2008, vol. 32, no. 1, 57-84. http://www.informaworld.com/smpp/content?content=10.1080/00222500701790207.
crit.fun
, opt.par
, opt.random.par
, opt.these.par
, check.these.par
#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 plot.mat(M=net, clu=clu) class(net)<-"mat" plot(net, clu=clu) #See corespodning functions for examples for other plotting #functions #presented, that are esentially only the wrappers for "plot.max"