J'ai un ensemble de données pour lequel je souhaite générer plusieurs tracés en fonction de l'une des colonnes. Autrement dit, je veux pouvoir utiliser ggplot pour créer un graphique séparé pour chaque variété de ce facteur.
Voici quelques exemples de données rapides:
Variety = as.factor(c("a","b","a","b","a","b","a","b","a","b")
Var1 = runif(10)
Var2 = runif(10)
mydata = as.data.frame(cbind(Variety,Var1,Var2))
Je voudrais générer deux tracés distincts de Var1 sur Var2, un pour la variété A, un second pour la variété B, de préférence dans une seule commande, mais s'il y a un moyen de le faire sans diviser la table, ce serait bien aussi .
Vous pouvez utiliser facet_grid
ou facet_wrap
pour diviser les graphiques par facteurs.
ggplot(mydata, aes(Var1, Var2)) + geom_point() + facet_grid(~ Variety)
ou, sur des parcelles distinctes, utilisez simplement une boucle simple
for (var in unique(mydata$Variety)) {
dev.new()
print( ggplot(mydata[mydata$Variety==var,], aes(Var1, Var2)) + geom_point() )
}