web-dev-qa-db-ja.com

ggplotのgeom_point(scale_colour_manual)の塗りつぶしと境界線の色

Ggplotを使用して散布図を作成しています。特定の色と塗りつぶし(たとえば、plot、_colour="blue", fill="cyan4"_など)を使用したいのですが、方法がわかりません。これまでに私が持っているのは:

_ggplot(df, aes(own,method)) +
  panel.configuration +
  scale_shape_identity() +  #to use the 'plot' shape format.
  geom_point(aes(color = factor(label)), position = "jitter",size=3) +  
_

(以前の_geom_point_でplotでしたように_shape=21_を追加しようとしました)

_  scale_colour_manual(values=c("A"="chocolate3","B"="cyan4")) +
  scale_fill_manual(values=c("A"="green", "B"="red")) + #DOES NOTHING...
  xlim(7,47) + ylim(7,47)+ ... etc.
_

これは、「shape = 21」なしで得られるものです

enter image description here

これは、「shape = 21」を追加したときに得られるものです。どちらの場合も、_scale_fill_は無視されます enter image description here

また、geom_pointにfill=c("blue","red")を追加しようとしましたが、Rは「エラー:セットの美学の長さが互換性がありません:形状、サイズ、塗りつぶし」。

入手方法に関する提案はありますか?コード内の_scale_fill_の何が問題になっていますか?

どうもありがとうございました!

データ(df)は次のようになります。

_21 15 A
24 16 A
24 17 A
28 14 A
24 15 A
22 15 A
20 18 A
24 18 A
34 9 B
38 12 B
41 19 B
42 13 B
36 12 B
40 17 B
41 14 B
37 12 B
40 13 B
37 15 B
35 15 B
_
31
PGreen

21 to 25の図形を使用する必要があります。これらはcolourおよびfillプロパティを持つものです:

ggplot(df, aes(own, method)) + 
     geom_point(colour="white", shape=21, size = 4, 
     aes(fill = factor(label))) + 
     scale_fill_manual(values=c("blue", "cyan4"))

colourにも異なる色が必要な場合:

ggplot(df, aes(own, method)) + 
      geom_point(aes(colour=factor(label), 
      fill = factor(label)), shape=21, size = 4) + 
      scale_fill_manual(values=c("blue", "cyan4")) + 
      scale_colour_manual(values=c("white", "black"))
65
Arun