Je crée une intrigue où je dois mélanger des noms, des couleurs et des formes dans une seule légende. Il semble que la légende ordonne mes données par ordre alphabétique classeName générant une discordance avec mes formes et couleurs de classe ... Je dois avoir une forme unique par superclasses A, B, C donc je pensais avoir A1, A2, A3 comme triangles, et B1, B2 en tant que cercles. Comment puis-je forcer les noms de légende à suivre le même ordre que les couleurs et les formes dans mes données? (Je ne veux pas l'ordre alphabétique dans la légende qui n'a pas de sens pour mon application réelle)Continuez à trier mes données dans la légende ggplot où la couleur et la forme sont combinées
Voici mes données et le code:
library(ggplot2)
x<-c(1,2,3,4,5,6,7,8,9)
y<-c(1,1,2,2,2,3,3,3,3)
classNames<-c("B1","B2","A1","A2","A3","C1","C2","C3","C4")
classColors<-c("darkorange","darkorange3","cyan","blue","blue4","green1","green2","green3","green4")
classShapes<-c(1,1,2,2,2,3,3,3,3)
datadf<-data.frame(x,y,classNames,stringsAsFactors = FALSE)
ggplot()+
geom_point(data=datadf,aes(x=x,y=y,shape=classNames,color=classNames))+
scale_color_manual(name="My classes",values=classColors)+
scale_shape_manual(name="My classes",values=classShapes)
Si j'utilise ce nom au lieu ggplot, correspond aux formes et couleurs et sont en bon ordre dans la légende, mais maintenant ils ne correspondent pas aux points du terrain ...
ggplot()+
geom_point(data=datadf,aes(x=x,y=y,shape=classNames,color=classNames))+
scale_color_manual(name="My classes",values=classColors,labels=classNames) +
scale_shape_manual(name="My classes",values=classShapes,labels=classNames)
Great! C'est le truc que j'ai manqué pendant trop de jours. Je vous remercie! – Mica
Envisager de marquer comme accepté s'il a résolu votre problème. Merci – missuse