我在ggplot中可视化cca图时遇到了问题。 我有一个4种(PF,IF,MM,IM)的数据集和4个站点8个月内采集的3个环境变量, 我想看看哪个物种和哪个月/站?哪个环境变量是重要的 我想在ggplot的一个漂亮的cca图中想象这个。我一直在寻找一些R代码,但它可视化似乎很新 这个..
这是我的数据:
我想有一个这样的图表:
答案 0 :(得分:5)
ggvegan 包相对容易( ^ )。
首先,您需要安装 devtools ,然后使用它从github安装 ggvegan 包:
install.packages("devtools")
devtools::install_github("gavinsimpson/ggvegan")
接下来,做一个CCA,我在这里使用?cca
library("vegan")
library("ggvegan")
data(varespec, varechem)
vare.cca <- cca(varespec, varechem)
然后,要生成CCA triplot的ggplot版本,请使用:
autoplot(vare.cca)
这给出了:
如果您只想以ggplot要求的形式返回数据,请使用fortify()
方法:
fdat <- fortify(vare.cca)
head(fdat)
> head(fdat)
Dim1 Dim2 Score Label
1 0.07534683 -0.93580864 species Callvulg
2 -0.18133963 0.07610159 species Empenigr
3 -1.05354930 -0.06026078 species Rhodtome
4 -1.27742838 0.30758571 species Vaccmyrt
5 -0.15256316 0.12053851 species Vaccviti
6 0.24295573 0.26432438 species Pinusylv
autoplot()
返回的对象是ggplot对象,因此您可以使用该系统添加到绘图中:
plt <- autoplot(vare.cca)
class(plt)
str(plt, max = 2)
> class(plt)
[1] "gg" "ggplot"
> str(plt, max = 2)
List of 9
$ data : list()
..- attr(*, "class")= chr "waiver"
$ layers :List of 3
..$ :Classes 'proto', 'environment' <environment: 0xa1847d8>
..$ :Classes 'proto', 'environment' <environment: 0x98ef158>
..$ :Classes 'proto', 'environment' <environment: 0xa0d1cf8>
$ scales :Reference class 'Scales' [package "ggplot2"] with 1 fields
..and 21 methods, of which 9 are possibly relevant:
.. add, clone, find, get_scales, has_scale, initialize, input, n,
.. non_position_scales
$ mapping : list()
$ theme : list()
$ coordinates:List of 2
..$ limits:List of 2
..$ ratio : num 1
..- attr(*, "class")= chr [1:3] "fixed" "cartesian" "coord"
$ facet :List of 1
..$ shrink: logi TRUE
..- attr(*, "class")= chr [1:2] "null" "facet"
$ plot_env :<environment: R_GlobalEnv>
$ labels :List of 7
..$ y : chr "CCA2"
..$ x : chr "CCA1"
..$ shape : chr "Score"
..$ colour: chr "Score"
..$ xend : chr "Dim1"
..$ yend : chr "Dim2"
..$ label : chr "Label"
- attr(*, "class")= chr [1:2] "gg" "ggplot"
^:取决于您想要多少自定义...