[R-sig-eco] Making this plot in R: relative abundance vs. environmental gradient with each species ranked by niche optimum

Gavin Simpson gavin.simpson at ucl.ac.uk
Tue Sep 14 17:51:11 CEST 2010


On Tue, 2010-09-14 at 08:08 -0700, Laura S wrote:
> Dear Gavin and Jari:
> 
> Thank you both for your responses. I greatly appreciate it. 

Thanks Laura,

One way to do this would be

set.seed(123)
## generate a gradient
grad <- seq(0, 6, length = 20)
## and optima
opt <- runif(20, min = min(grad), max = max(grad))
## and some rel. abundances
abun <- rbeta(20, 1, 2)

## plot it
plot(abun ~ grad, type = "n", ylim = range(c(0, abun)))
points(abun ~ opt, type = "h")
points(abun ~ opt, type = "p", pch = 21, col = "black", bg = "white")

In the above I use pch 21 so I can fill the points with "white" to
obscure the histogram bars 'type = "h"'.

## and if we have two groups say, A and B,
## like Vallend 2008, then we'd do
## grouping variable
grp <- gl(2,10, labels = LETTERS[1:2])
plot(abun ~ grad, type = "n", ylim = range(c(0, abun)))
points(abun ~ opt, type = "h")
points(abun ~ opt, type = "p", pch = 21, col = "black",
       bg = c("white","black")[grp])
legend("topleft", legend = c("A","B"), pt.bg = c("white","black"),
       pch = 21, col = "black", bty = "n")

If you want to add a baseline, then insert a call to abline()
immediately *after* the plot call, e.g.:

plot(abun ~ grad, type = "n", ylim = range(c(0, abun)))
## add baseline
abline(h = 0, col = "grey")
points(abun ~ opt, type = "h")
points(abun ~ opt, type = "p", pch = 21, col = "black",
       bg = c("white","black")[grp])
legend("topleft", legend = c("A","B"), pt.bg = c("white","black"),
       pch = 21, col = "black", bty = "n")
## box() call required as abline will over write the initial box 
## slightly
box()

<snip />

> b) Gravel et al. 2006. Ecology Letters, 9: 399-409.
> 
> Figure 4 (left panel: a through d). This shows species relative
> abundance (positioned along x-axis by rank according to niche optima)
> versus niche position along the environmental gradient. I was trying
> to describe this figure earlier. 

I don't like this version - why are the points joined as if a series
along the gradient?

HTH

G

> Thank you again for your time and consideration,
> Laura
> 
> 
> 
> On Tue, Sep 14, 2010 at 1:40 AM, Jari Oksanen <jari.oksanen at oulu.fi>
> wrote:
>         On 12/09/10 05:24 AM, "Laura S" <leslaura at gmail.com> wrote:
>         
>         > Dear all:
>         >
>         > I am interested in plotting species relative abundance
>         versus niche position
>         > along an environmental gradient. I would like the species'
>         position along
>         > the the x-axis (environment gradient position) to be ranked
>         according to
>         > each species' niche optima. I have seen this type of plot in
>         publications,
>         > but I am not sure how to make a nice plot in R.
>         >
>         
>         Laura,
>         
>         Just like Gav, I don't know what you want to achieve. However,
>         package gravy
>         (that was intended to put some meat in vegan) contains
>         functions
>         boxgradient() and gaussgradient(), and there is a slim change
>         this is what
>         you wanted to have. The gravy package is experimental, and not
>         yet released,
>         but it is available from http://vegan.r-forge.r-project.org/.
>         You can
>         automatically install the package on the command line
>         (provided you have
>         privileges to install packages) using
>         
>         install.packages("gravy",
>         repos="http://r-forge.r-project.org")
>         
>         or selecting the repository address in the GUI installer.
>         
>         The package is unreleased and experimental, and there may be
>         rough edges.
>         Proceed with care.
>         
>         Cheers, Jari Oksanen
>         
> 
> 
> 
> -- 
> " Genius is the summed production of the many with the names of the
> few attached for easy recall, unfairly so to other scientists"
> 
> - E. O. Wilson (The Diversity of Life)

-- 
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
 ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
 Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
 Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
 UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%



More information about the R-sig-ecology mailing list