Подтвердить что ты не робот

Цвет заливки и границы в geom_point (scale_colour_manual) в ggplot

Я делаю разброс с использованием 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=21, как я бы сделал в plot)

  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

Я также попытался добавить 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
4b9b3361

Ответ 1

Вам нужно будет использовать фигуры из 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"))