我希望,你不需要这个问题的数据,因为我相信我只是犯了一个愚蠢的语法错误.以下代码:
ggplot()+
geom_point(data=sites, aes(x=NMDS1, y=NMDS2, shape=group), colour="grey") +
geom_point(data=species, aes(x=NMDS1, y=NMDS2, color=phyla), size=3, shape=20) + scale_colour_manual(values=Pal1) +
geom_segment(data = BiPlotscores, aes(x = 0, xend = NMDS1, y= 0, yend = NMDS2),
arrow = arrow(length = unit(0.25, "cm")), colour = "black") +
geom_text(data = BiPlotscores, aes(x = 1.1*NMDS1, y = 1.1*NMDS2, label = Parameters), size = 3) + coord_fixed()+
theme(panel.background = element_blank()) +
geom_polygon(data = hulls, aes(x=NMDS1, y=NMDS2, colour=phyla, alpha = 0.2))
Run Code Online (Sandbox Code Playgroud)
导致以下结果:

(这不是最终产品:)).我希望多边形没有填充,或者只是整齐地填充.我不希望它们是灰色的,当然.填充不会做任何事情,显然摆弄alpha也不会改变任何事情.
任何想法都是超级受欢迎的.非常感谢你!
"Hulls"来自以下代码(在这里找到):
#find hulls
library(plyr)
find_hull <- function(df) df[chull(df$NMDS1, df$NMDS2), ]
hulls <- ddply(species , "phyla", find_hull)
Run Code Online (Sandbox Code Playgroud)
fab*_*ans 30
如果您想要透明填充,请fill=NA在aes()-specification 之外进行.
library(ggplot2)
data <- data.frame(y=c(2,2,1), x=c(1,2,1))
ggplot(data) + geom_polygon(aes(x=x, y=y), colour="black", fill=NA)
这是一个老问题,但也许如果其他人遇到同样的问题:
这是从矩阵到漂亮的 nmds 图的代码:
1)创建虚拟矩阵
MAT <- matrix( sample( 1:200, 100), nrow = 10,
dimnames = list( LETTERS[ 1:10]))
Run Code Online (Sandbox Code Playgroud)
2)计算距离矩阵
DIST <- dist(MAT)
Run Code Online (Sandbox Code Playgroud)
3)计算MDS
fit <- monoMDS(DIST, k=2)
Run Code Online (Sandbox Code Playgroud)
4) 提取点进行绘图
fitp <- data.frame(fit$points)
fitp$sample <- rownames(fitp)
Run Code Online (Sandbox Code Playgroud)
5)添加分组因素
fitp$group <- rep( c( "group1", "group2"), each=5)
Run Code Online (Sandbox Code Playgroud)
6) 定义函数来查找船体
find_hull <- function(df) df[chull(df$MDS1, df$MDS2), ]
Run Code Online (Sandbox Code Playgroud)
7)寻找船体
hulls <- ddply(fitp, .(group), find_hull)
Run Code Online (Sandbox Code Playgroud)
8) 绘制数据
ggplot( fitp, aes( x = MDS1, y = MDS2))+
geom_point( data = fitp, aes( colour = group, shape = group, size = 4))+
geom_text( data = fitp, aes( colour = group, label = sample, hjust = -0.7, size = 4))+
geom_polygon( data = hulls, aes( alpha = 0.8, fill = group))+
theme_bw()+
guides(size=F,alpha=F)
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
27185 次 |
| 最近记录: |