[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