PlotWebByLevel {cheddar}R Documentation

Plot web by level

Description

A high-level function for plotting a food-web by vertically with the lowest trophic-level nodes at the bottom.

Usage

PlotWebByLevel(community, 
               level='PreyAveragedTrophicLevel', 
               max.nodes.per.row=20,
               round.levels.to.nearest=0.2,
               stagger=0.1, 
               x.layout='wide', 
               y.layout='compress', 
               show.level.labels=TRUE,
               show.level.lines=FALSE, 
               xaxt='n', 
               yaxt='n', 
               xlab='', 
               ylab='', 
               frame.plot=FALSE,
               ylim=NULL,
               ...)

Arguments

community

an object of class Community

level

either a function, a name that meets the criteria of the properties parameter of NPS or a vector of length NumberOfNodes, which must contain numbers greater than 0.

max.nodes.per.row

a number greater than 2.

round.levels.to.nearest

a number greater or equal to 0 and less than 1.

stagger

a number greater or equal to 0 and less than 1. Only used if y.layout is 'stagger'.

x.layout

'skinny', 'narrow' or 'wide'.

y.layout

'stagger' or 'compress'. Only has an effect if round.levels.to.nearest is greater than 0.

show.level.labels

logical - if TRUE then integer values of level are shown to the left of the plot.

show.level.lines

logical - if TRUE then a horizontal line is drawn for each unique value of level.

xaxt

a character that specifies the type of the x axis.

yaxt

a character that specifies the type of the y axis.

xlab

title of the x axis.

ylab

title of the y axis.

frame.plot

logical - if TRUE then a border is drawn around the plot.

ylim

limits of the y axis

...

other values to PlotNPS.

Details

If round.levels.to.nearest is greater than 0, values in level are rounded to the nearest round.levels.to.nearest. Rounded values are used by the x.layout and y.layout engines.

If x.layout is 'skinny' then nodes are spaced one x unit apart and max.nodes.per.row is ignored. If x.layout is 'narrow', nodes are spaced one x unit apart if fewer than max.nodes.per.row on that row, otherwise nodes are squashed in to the available x space. If x.layout is 'wide', nodes are spaced widely.

If y.layout is 'compress', then nodes are always shown at the values in level. If y.layout is 'stagger' and there are more than max.nodes.per.row on a level then the plotted levels are staggered by the values in stagger.

Author(s)

Lawrence Hudson

See Also

Community, PlotBSpectrum, PlotCircularWeb, PlotNPS, PlotNPSDistribution, PlotNSpectrum, PlotRankNPS, PlotTLPS

Examples

# Compare prey-averaged and chain-averaged trophic level
data(TL84)
par(mfrow=c(1,2))
PlotWebByLevel(TL84, ylim=c(1,5.8), main='Prey-averaged')
PlotWebByLevel(TL84, ylim=c(1,5.8), level='ChainAveragedTrophicLevel', 
               main='Chain-averaged')

# Compare the three different x layouts
par(mfrow=c(1,3))
for(x.layout in c('skinny', 'narrow', 'wide'))
{
    PlotWebByLevel(TL84, x.layout=x.layout, main=x.layout)
}

# Compare the effect of round levels before plotting
# Different x-spacing of the four nodes around level 3
par(mfrow=c(1,2))
PlotWebByLevel(TL84, round.levels.to.nearest=0.2)
PlotWebByLevel(TL84, round.levels.to.nearest=0)

# Compare the effect of staggering levels
# Primary producers are staggered in the second plot
par(mfrow=c(1,2))
# No staggering - stagger and max.nodes.per.row are ignored
PlotWebByLevel(TL84, y.layout='compress')
# Stagger
PlotWebByLevel(TL84, y.layout='stagger', stagger=0.1, 
               max.nodes.per.row=20)

[Package cheddar version 0.1-638 Index]