ordipointlabel produces ordination plots with
points and text label to the points. The points are in the exact
location given by the ordination, but the function tries to optimize
the location of the text labels to minimize overplotting text. The
function may be useful with moderately crowded ordination plots.
1 2 3 4 5 6
Scores displayed in the plot.
Colours, point types, font style and
character expansion for each kind of scores displayed in the
plot. These should be vectors of the same length as the number of
Add to an existing plot.
Items to be displayed. This can either be a logical
vector which is
Other arguments passed to
The function uses simulated annealing (
method = "SANN") to optimize the location of the text labels
to the points. There are eight possible locations: up, down, sides
and corners. There is a weak preference to text right above the
point, and a weak avoidance of corner positions. The exact locations
and the goodness of solution varies between runs, and there is no
guarantee of finding the global optimum. The optimization can take a
long time in difficult cases with a high number of potential
overlaps. Several sets of scores can be displayed in one plot.
The function is modelled after
maptools package (which has chained dependencies of
The function returns invisibly an object of class
ordipointlabel with items
xy for coordinates of
labels for coordinates of labels, items
font for graphical parameters of each point or
label. In addition, it returns the result of
"optim". The unit of overlap is the area
"m", and with variable
cex it is the
There is a
plot method based on
orditkplot but which
does not alter nor reset the graphical parameters via
The result object from
ordipointlabel inherits from
orditkplot, and can also be replotted with its
plot method. It may be possible to further edit the result
orditkplot, but for good results it is
necessary that the points span the whole horizontal axis without empty
The function is designed for ordination graphics, and the optimization works properly with plots of isometric aspect ratio.
pointLabel for references.
pointLabel for the model
optim for the optimization.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
data(dune) ord <- cca(dune) plt <- ordipointlabel(ord) ## set scaling - should be no warnings! ordipointlabel(ord, scaling = "sites") ## plot then add plot(ord, scaling = "symmetric", type = "n") ordipointlabel(ord, display = "species", scaling = "symm", add = TRUE) ordipointlabel(ord, display = "sites", scaling = "symm", add = TRUE) ## redraw plot without rerunning SANN optimisation plot(plt)