ggplot2 légende personnalisé formes

Lorsque nous avons à la fois la forme et la couleur de la légende dans un nuage de points, la forme de la légende des couleurs est trompeuse:

foo <- data.frame(
  length=runif(10),
  height=runif(10),
  group=as.factor(sample(3,10,rep=T)),
  quality=as.factor(sample(2,10,rep=T))
)

ggplot(foo, aes(x = length, y = height, color=group, shape=quality)) + 
  geom_point(size=5)

Ceci va produire le graphique ci-dessous. Comme vous le voyez, le "cercle" de la forme est réservé pour les objets de quality==1, cependant, dans la group la légende, tous les 3 groupes sont présentés dans le "cercle" de formes, de couleurs différentes, ce qui peut induire en erreur.

Il était aussi beaucoup mieux si l' group légende était représenté par une forme pas déjà réservée pour un but précis, juste pour remplir l'ensemble de l'élément de légende avec la couleur spécifique.

Avez-vous de la simple idée de comment résoudre ce problème?

ggplot2 légende personnalisé formes

OriginalL'auteur Ali | 2012-11-19