簡體   English   中英

ggplot2:geom_polygon 沒有填充

[英]ggplot2: geom_polygon with no fill

我希望你不需要這個問題的數據,因為我相信我只是犯了一個愚蠢的語法錯誤。 以下代碼:

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))

導致以下結果:

在此處輸入圖片說明

(這不是最終產品:))。 我想讓多邊形未填充,或者非常整齊地填充。 我當然不希望它們變灰。 Fill 不做任何事情,顯然擺弄 alpha 也不會改變任何東西。

任何想法都非常受歡迎。 非常感謝!

“船體”來自以下代碼(如在某處找到的):

#find hulls
library(plyr)
find_hull <- function(df) df[chull(df$NMDS1, df$NMDS2), ]
hulls <- ddply(species , "phyla", find_hull)

如果您想要透明填充,請在aes()規范之外執行fill=NA

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]))

2) 計算距離矩陣

DIST <- dist(MAT)

3)計算MDS

fit <- monoMDS(DIST, k=2)

4)提取繪圖點

fitp <- data.frame(fit$points)
fitp$sample <- rownames(fitp)

5) 添加分組因子

fitp$group <- rep( c( "group1", "group2"), each=5)

6) 定義函數來尋找船體

find_hull <- function(df) df[chull(df$MDS1, df$MDS2), ]

7) 尋找船體

hulls <- ddply(fitp, .(group), find_hull)

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)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM