[R] envfit vector labels with ordiplot3d

Briony brionynorton at gmail.com
Mon Sep 12 12:24:39 CEST 2011


Thank you very much for the suggestion. And while I'm here, thank you for
vegan and the documentation that goes with it.

>Function ordiplot3d uses scatterplot3d, and it returns also all
>scatterplot3d items, like functions xyz.converter and points3d that
>can be used for tuning labels.

I tried ordilabel(pl$arrows) but the labels only seem to be in two
dimensions.

>With ordixyplot I can see no other choice than that you edit the
>function and preferably contribute your edited function to vegan
>(and will be credited with the function help).

I'm not a skilled enough user of R to edit the ordixyplot function - so I'll
pass on that invitation to anyone else who reads this thread?

Thanks again,
Briony 

Briony <brionynorton <at> gmail.com> writes:

>
> Hi R experts,
>
> I'm looking for some help with plotting vectors from envfit in vegan, onto
> a
> 3d plot using ordiplot3d. So far I have
>
> data.mds <- metaMDS(data, k=3,trace = FALSE)
> vect_data<-envfit(data.mds,vegdata[,3:21],choices=1:3,permu=9999)
> ordiplot3d(data.mds,envfit=vect_data)
> ordixyplot(data.mds,pch=pts,envfit=vect_data)
>
> (my data's not really called data, I thought it might be easier to
> communicate this way)
>
> These display the vectors as arrows, but what I would really like is for
> the
> arrows to be labelled, like what comes up automatically in ordirgl or with
> a
> 2D ordiplot.
>
> I've gone through the help and tried everything I can work out, but I must
> be missing something important, because nothing's worked so far. I would
> be
> happy to use ordixyplot and show a series of 2D plots, but I can't get
> labels on those arrows either.
>
> Any pointers in the right direction would be gratefully received.
> Briony

Briony,

There really is no way to do this automatically, but if someone fixes the
functions, we are happy to incorporate those changes in vegan.

You may be able to achieve something like that with ordiplot3d, but I am
not sure it looks completely satisfactory. Function ordiplot3d returns
invisibly the plotting object which contains, among other items. the
coordinates of arrow heads in the  flattened graph. So this could work:

pl <- ordiplot3d(data.mds,envfit=vect_data)
ordilabel(pl$arrows)

Function ordiplot3d uses scatterplot3d, and it returns also all
scatterplot3d items, like functions xyz.converter and points3d that
can be used for tuning labels.

With ordixyplot I can see no other choice than that you edit the
function and preferably contribute your edited function to vegan
(and will be credited with the function help).

Cheers, Jari Oksanen

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code. 

--
View this message in context: http://r.789695.n4.nabble.com/envfit-vector-labels-with-ordiplot3d-tp3800669p3807015.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list