klaR (version 0.6-15)

shardsplot: Plotting Eight Direction Arranged Maps or Self-Organizing Maps


Plotting method for objects of class EDAM or som.


shardsplot(object, plot.type = c("eight", "four", "points", "n"), 
    expand = 1, stck = TRUE, grd = FALSE, standardize = FALSE, 
    data.or = NA, label = FALSE, plot = TRUE, classes = 0, 
    vertices = TRUE, classcolors = "rainbow", wghts = 0, 
    xlab = "Dimension 1", ylab = "Dimension 2", xaxs = "i", 
    yaxs = "i", plot.data.column = NA,
    log.classes = FALSE, revert.colors = FALSE, ...)

level_shardsplot(object, par.names, rows = 1:NCOL(object$data), centers = rep(NA, length(par.names)), class.labels = NA, revert.colors = rep(FALSE, length(par.names)), log.classes = rep(FALSE, length(par.names)), centeredcolors = colorRamp(c("red", "white", "blue")), mfrow = c(2, 2), plot.type = c("eight", "four", "points", "n"), expand = 1, stck = TRUE, grd = FALSE, standardize = FALSE, label = FALSE, plot = TRUE, vertices = TRUE, classcolors = "topo", wghts = 0, xlab = "Dimension 1", ylab = "Dimension 2", xaxs = "i", yaxs = "i", ...)

# S3 method for EDAM plot(...)



an object of class EDAM or som.


names used to lable the data columns


vector with indices of colomns to be plotted


vector of type numeric defining the class centers for the data. NA if data does not have a center.


matrix of type text and dimension(3, NROW(object$data)) defining the lables to be used for maximum, minimum and central value.


colors to represent the classes with a central value


parameter defining number of plots on a page. see par


a character giving the shape of the shards. Available are “eight” and “four” for octagons resp. rectangles, and “points” for points. If plot.type is “n”, no shards are plotted at all.


a numeric giving the relative expansion of the axes. A value greater than one implies smaller shards. Varying expand can be sensible for visual reasons.


logical. If TRUE the cells are varied continously corresponding to the differences of direct neighbors in the origin space. Within this variation the relative order of the cells is always preserved.


logical. If TRUE (which automatically sets stck to TRUE), the variation of cells is restricted to their original discrete values.


logical. If TRUE, then the measurements in object$preimages are standardized before calculating Euclidean distances. Measurements are standardized for each variable by dividing by the variable's standard deviation. Meaningless if object$preimages is a dissimilarity matrix.


original data and classes where the first k columns are variables and the (k+1)-th column are the classes. If defined and class of object is som, data.or is used to assign a class to each codebook. There a codebook receives the class, from which the majority of its assigned objects origins.


logical. If TRUE, the shards are labeled by the rownames of the preimages.


logical. If FALSE, all graphical output is suppressed.


a vector giving alternative classes for objects of class EDAM; classes have to be given in the original order of the data to which EDAM was applied.


logical. If TRUE the grid is drawn.


colors to represent the classes, or a character giving the colorscale for the classes. Since now available scales are rainbow, topo and gray.


an optional vector of length k giving relative weights of the variables in computing Euclidean distances. Meaningless if object$preimages is a dissimilarity matrix.


see par


see par


see par


see par

further plotting parameters.


column index defining from data.or providing the data used to calculate the coloring of the cells.


boolean indicating that the data should be transformed with the logarithmic function before calculating the cell coloring


boolean indicating that the colorscale should be reverted.


The following list is (invisibly) returned:


the images of the visualized data


the criterion of the visualization


level_shardsplot uses multiple shardsplot representations of a SOM in order to depict how the data used to calculate the SOM is distribution across the map. Two representations are possible for the data, first with a single color ramp from the minimum value to the maximum value. The second representation is usefull for data for which a basic value exists some where between minimum and maximum for which a special color representation should be used (e.g. 0 is indicated with white).

If plot.type is “four” or “eight”, the shape of each shard depends on the relative distances of the actual object or codebook to its up to eight neighbours. If plot.type is “eight”, shardsplot corresponds to the representation method suggested by Cottrell and de Bodt (1996) for Kohonen Self-Organizing Maps. If plot.type is “points”, shardsplot reduces to a usual scatter plot.


Cottrell, M., and de Bodt, E. (1996). A Kohonen Map Representation to Avoid Misleading Interpretations. Proceedings of the European Symposium on Atrificial Neural Networks, D-Facto, pp. 103--110.

See Also

EDAM, TopoS, som


# Compute clusters and an Eight Directions Arranged Map for the 
# country data. Plotting the result.
logcount <- log(countries[,2:7])
sdlogcount <- apply(logcount, 2, sd)
logstand <- t((t(logcount) / sdlogcount) * c(1,2,6,5,5,3))
cclasses <- cutree(hclust(dist(logstand)), k = 6)
countryEDAM <- EDAM(logstand, classes = cclasses, sa = FALSE, 
    iter.max = 10, random = FALSE)
plot(countryEDAM, vertices = FALSE, label = TRUE, stck = FALSE)

# Compute and plot a Self-Organizing Map for the iris data
irissom <- som(iris[,1:4], xdim = 6, ydim = 14)
shardsplot(irissom, data.or = iris, vertices = FALSE)
opar <- par(xpd = NA)
legend(7.5, 6.1, col = rainbow(3), xjust = 0.5, yjust = 0,
    legend = levels(iris[, 5]), pch = 16, horiz = TRUE)

level_shardsplot(irissom, par.names = names(iris), 
    class.labels = NA, mfrow = c(2,2))
# }