52

私は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追加しようとしました)shape=21plot

  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」なしで得られるものです

ここに画像の説明を入力

これは、「shape = 21」を追加すると得られるものです。どちらの場合も無視しますscale_fill ここに画像の説明を入力

私もfill=c("blue","red")geom_point を追加しようとしましたが、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
4

1 に答える 1

102

の形状を使用する必要があります21 to 25colourこれらはと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"))
于 2013-04-12T07:53:39.473 に答える