2011-12-21 10 views
12

私は、多数の次元に沿って変化する大きな散布図をプロットしようとしています。ggplot2でポイントのサブセットの形状を変更する

p <- ggplot(mtcars, aes(wt, mpg, shape=cyl, colour=gear, size=carb)) + 
     geom_point() 

Sample plot with multiple variables

mtcarsデータセットを使用して、私は単純に、様々な形状、色、サイズを含むてる:

は、ここに私の出発プロットです。今私がこれに追加したいのは、carb == 8のすべての点の周りのいくつかの区別マークです。たとえば、これらのポイントの周りに大きな黒丸を追加します。

p + geom_point() + geom_point(colour="black", shape=1, size=5) 

を行う

は、私が好きな、それが円を取得することで閉じているが、すべての点が円を取得し、私の代わりにこれを制限したいのちょうどいくつかのポイント。

私はこの問題の提案を感謝します。

答えて

21

最初に変数をggplot関数内に置くのではなく、追加した各層ごとに個別に変数をマップしてみてください。

p <- ggplot(data = mtcars)+ 
geom_point(aes(wt, mpg, shape=as.factor(cyl), colour=gear, size=carb))+ 
geom_point(aes(wt[carb==8], mpg[carb==8]), colour="black", shape=1, size=7) 

img

+5

良いです。個人的には、私はgeom_point(data = subset(mtcars、carb == 8)、aes(...)) 'のように元のデータの望ましいサブセットをgeomに渡す傾向があります。おそらく指摘する価値がある。 – joran

+0

恐ろしい!それは私が探していたもので、それは非常に簡単です。ありがとう! – fozziethebeat

+1

サブクエスチョンとして、凡例を編集して黒い円がcarb = 8の周りにあることを示す方法はありますか? – fozziethebeat

関連する問題