klaR (version 0.3-0)

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

Description

Plotting method for objects of class EDAM or som.

Usage

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", ...)

## S3 method for class 'EDAM':
plot(...)

Arguments

object
an object of class EDAM or som.
plot.type
a character giving the shape of the shards. Available are eight and four for octagons resp. rectangles, and points for points. If plot.type
expand
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.
stck
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.
grd
logical. If TRUE (which automatically sets stck to TRUE), the variation of cells is restricted to their original discrete values.
standardize
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
data.or
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
label
logical. If TRUE, the shards are labeled by the rownames of the preimages.
plot
logical. If FALSE, all graphical output is suppressed.
classes
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.
vertices
logical. If TRUE the grid is drawn.
classcolors
colors to represent the classes, or a character giving the colorscale for the classes. Since now available scales are rainbow, topo and gray.
wghts
an optional vector of length k giving relative weights of the variables in computing Euclidean distances. Meaningless if object$preimages is a dissimilarity matrix.
xaxs
see par
yaxs
see par
xlab
see par
ylab
see par
...
further plotting parameters.

Value

  • The following list is (invisibly) returned:
  • Cells.exthe images of the visualized data
  • Sthe criterion of the visualization

Details

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.

References

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

Examples

Run this code
# Compute clusters and an Eight Directions Arranged Map for the 
# country data. Plotting the result.
data(countries)
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
data(iris)
library(som)
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)
par(opar)

Run the code above in your browser using DataCamp Workspace