Je fais un nuage de points en utilisant ggplot. Je voudrais avoir des points avec une couleur et un remplissage particuliers (dans plot
, colour="blue", fill="cyan4"
, Par exemple) mais je ne trouve pas comment. Ce que je dois à ce point est:
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) +
(Dans le précédent geom_point
, J'ai essayé d'ajouter shape=21
Comme je l'aurais fait dans 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.
C'est ce que j'obtiens sans "forme = 21"
C'est ce que j'obtiens quand j'ajoute "forme = 21". Dans les deux cas, il ignore scale_fill
J'ai également essayé d'ajouter fill=c("blue","red")
dans geom_point, mais R se plaint: "Erreur: longueurs incompatibles pour l'esthétique définie: forme, taille, remplissage".
Des suggestions sur la façon de l'obtenir? Quel est le problème avec scale_fill
Dans mon code?
Merci beaucoup!
Les données (df) ressemblent à:
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
Vous devrez utiliser des formes de 21 to 25
. Ce sont ceux qui ont les propriétés colour
et 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"))
Si vous souhaitez également des couleurs différentes pour colour
, alors:
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"))