\HeaderA{clusplot.partition}{Bivariate Clusplot of a Partitioning Object}{clusplot.partition}
\keyword{cluster}{clusplot.partition}
\keyword{hplot}{clusplot.partition}
\begin{Description}\relax
Clusplot (Clustering Plot) method for an object of class \code{partition}.
\end{Description}
\begin{Usage}
\begin{verbatim}
## S3 method for class 'partition':
clusplot(x, main = NULL, dist = NULL, ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] an object of class \code{"partition"}, e.g. created by the functions
\code{\LinkA{pam}{pam}}, \code{\LinkA{clara}{clara}}, or \code{\LinkA{fanny}{fanny}}.
\item[\code{main}] title for the plot; when \code{NULL} (by default), a title
is constructed, using \code{x\$call}.
\item[\code{dist}] when \code{x} does not have a \code{diss} nor a
\code{data} component, e.g., for \code{\LinkA{pam}{pam}(dist(*),
      keep.diss=FALSE)}, \code{dist} must specify the dissimilarity for the
clusplot.
\item[\code{...}] all optional arguments available for the
\code{\LinkA{clusplot.default}{clusplot.default}} function (except for the \code{diss}
one) may also be supplied to this function.  Graphical parameters
(see \code{\LinkA{par}{par}}) may also be supplied as arguments to this
function.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
This \code{clusplot.partition()} method relies on
\code{\LinkA{clusplot.default}{clusplot.default}}.

If the clustering algorithms \code{pam}, \code{fanny} and \code{clara}
are applied to a data matrix of observations-by-variables then a
clusplot of the resulting clustering can always be drawn.  When the
data matrix contains missing values and the clustering is performed
with \code{\LinkA{pam}{pam}} or \code{\LinkA{fanny}{fanny}}, the dissimilarity
matrix will be given as input to \code{clusplot}.  When the clustering
algorithm \code{\LinkA{clara}{clara}} was applied to a data matrix with NAs
then clusplot will replace the missing values as described in
\code{\LinkA{clusplot.default}{clusplot.default}}, because a dissimilarity matrix is not
available.
\end{Details}
\begin{Value}
An invisible list with components
\begin{ldescription}
\item[\code{Distances}] When option lines is 1 or 2 we optain a k by k matrix (k is the number of
clusters). The element at row j and column s is the distance between
ellipse j and ellipse s.  If lines=0, then the value of this
component is NA.

\item[\code{Shading}] A vector of length k (where k is the number of clusters), containing
the amount of shading per cluster.  Let y be a vector where element
i is the ratio between the number of objects in cluster i and the
area of ellipse i.  When the cluster i is a line segment, y[i] and
the density of the cluster are set to NA.  Let z be the sum of all
the elements of y without the NAs.  Then we put shading = y/z *37 + 3.

\end{ldescription}
\end{Value}
\begin{SeeAlso}\relax
\code{\LinkA{clusplot.default}{clusplot.default}} for references;
\code{\LinkA{partition.object}{partition.object}}, \code{\LinkA{pam}{pam}},
\code{\LinkA{pam.object}{pam.object}}, \code{\LinkA{clara}{clara}},
\code{\LinkA{clara.object}{clara.object}}, \code{\LinkA{fanny}{fanny}},
\code{\LinkA{fanny.object}{fanny.object}}, \code{\LinkA{par}{par}}.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
## generate 25 objects, divided into 2 clusters.
x <- rbind(cbind(rnorm(10,0,0.5), rnorm(10,0,0.5)),
           cbind(rnorm(15,5,0.5), rnorm(15,5,0.5)))
clusplot(pam(x, 2))
## add noise, and try again :
x4 <- cbind(x, rnorm(25), rnorm(25))
clusplot(pam(x4, 2))
\end{ExampleCode}
\end{Examples}

