web-dev-qa-db-ja.com

ggplot2:塗りつぶしなしのgeom_polygon

私は愚かな構文エラーをしているだけだと思う​​ので、この問題のデータは必要ないでしょう。次のコード:

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

次の結果になります:

enter image description here

(これは最終製品ではありません:))。ポリゴンを塗りつぶさないようにしたい、または非常にきれいに塗りつぶしたい。確かに、私はそれらが灰色味を帯びたものになってほしくありません。塗りつぶしは何もせず、どうやらアルファをいじっても何も変わりません。

どんなアイデアでも大歓迎です。どうもありがとうございました!

「ハル」は次のコードから取得されます(ここのどこかにあります):

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

透明な塗りつぶしが必要な場合は、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)

30
fabians

古い質問ですが、誰かが同じ問題に遭遇した場合:

マトリックスからニース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)

enter image description here

3
Latrunculia