2017-10-17 8 views
0

私が持っている何をして私が欲しいもの:ggplot2 geomに疑似審美的な議論を追加するには?

data<- data.frame(value= 1:10, Treatment= rep(c("A", "B"),5), Species=rep(c("alpha", "beta"), each=5)) 

を、それができ自動的にグループのデータ、それは例えば、引用引数、ggplot(data=data)+geom_boxplot(aes(y= value, x= Treatment, fill=Treatment))分離してグループのデータに基づいてTreatmentplot1

ですべてのこと ggplot2::aes()機能することが知られています

であり、異なるボックスとしてプロットされている。同様の方法でggplot(data=data)+geom_boxplot(aes(y= value, x= Treatment, fill=Treatment, linetype= Species))はのボックスを生成し、色分けと線種が異なるティーチュメントと種別でグループ化しますplot2

しかし、Treatmentは上記metionedプロットと同じ色を充填することにより提示されるTreatmentSpeciesによってグループ化ボックスのボックスプロットを生成する方法が、種が提示されなかったが、つまり、線種が全ボックス間で同じですか?言い換えれば、ヌルの美学だけがデータをグループ化するが、プロットには決して提示されない。

+0

グループ美的 – baptiste

+0

私が試みと 'group'引数が最終的にのみ存在するAES(グループ=種)無地単色プロットを生じる他の美学によってグルーピング及び色充填を破壊したがあります。 –

答えて

1

これはどういう意味ですか?

ggplot(data=data)+ 
    geom_boxplot(aes(y= value, x= Treatment, fill=Treatment)) + 
    facet_wrap(~Species) 

enter image description here

+0

ファセットは良い選択肢ですが、4つのボックスが同じ(サブ)プロット上に正確に配置されていません。 –

1

あなたは、私が以下に示されているようにデータやその場でどちらかの4つのレベルを持つ新しい変数を定義することができます。これにより、あなたが求めているように、4つのボックスプロットが色分けされ、グループ化されます。軸ラベルまたは凡例のいずれかで何らかの方法でデータを区別する必要があるかどうかに関係なく、完璧に動作ggplot(data=data)+geom_boxplot(aes(y= value, x= Treatment, fill=Treatment, group= paste(Treatment, Species))) J・ハートとバプティストのソリューションを組み合わせる

ggplot(data=data)+geom_boxplot(aes(y= value, x= Treatment, fill=Treatment, group=paste(Species, Treatment)) 

enter image description here

+0

これは非常に優れた解決策ですが、x軸がグループ化要因の1つを提示している状況でのみ機能します。 geom_lineまたはgoem_smoothの場合、xとyの両方で値を表示すると、要素をグループ化する代わりに解決策がありますか? –

+0

グループ分けを使用するための私の答えが更新されました。私はそれもgeom_lineとgeom_smoothのために働くだろうと思う。 –

+0

それは私たちも同じように、LOLだと思われる。ありがとう、すべて同じ。 –

1

関連する問題