# shardsplot

##### Plotting Eight Direction Arranged Maps or Self-Organizing Maps

- Keywords
- hplot

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

##### Arguments

- object
an object of class

`EDAM`

or`som`

.- par.names
names used to lable the data columns

- rows
vector with indices of colomns to be plotted

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

- class.labels
matrix of type text and

`dimension(3, NROW(object$data))`

defining the lables to be used for maximum, minimum and central value.- centeredcolors
colors to represent the classes with a central value

- mfrow
parameter defining number of plots on a page. see

`par`

- 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`

is “`n`

”, no shards are plotted at all.- 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 deviation. Meaningless if`object$preimages`

is a dissimilarity matrix.- 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 codebook receives the class, from which the majority of its assigned objects origins.- 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.

- plot.data.column
column index defining from

`data.or`

providing the data used to calculate the coloring of the cells.- log.classes
boolean indicating that the data should be transformed with the logarithmic function before calculating the cell coloring

- revert.colors
boolean indicating that the colorscale should be reverted.

##### Details

`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.

##### Value

The following list is (invisibly) returned:

the images of the visualized data

the criterion of the visualization

##### 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

##### Examples

```
# NOT RUN {
# 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)
level_shardsplot(irissom, par.names = names(iris),
class.labels = NA, mfrow = c(2,2))
# }
```

*Documentation reproduced from package klaR, version 0.6-14, License: GPL-2*