web-dev-qa-db-fra.com

Éléments de légende ggplot2 sur une seule ligne horizontale

Cela peut sembler une question stupide, mais je suis un peu confus.

Il semble que le code que j'ai écrit et testé la semaine dernière a soudainement décidé de changer la sortie même si rien dans le code ou la version de R ou Rstudio n'a changé.

Auparavant, lorsque je dessinais un tracé avec ggplot2 et demandais que la légende apparaisse au bas du tracé, il orientait automatiquement les éléments sur une seule ligne horizontale. Maintenant, lorsque j'exécute le même code, il place l'élément dans un certain nombre de colonnes à 2 lignes.

Voici un exemple ...

mtcars$cyl <- (1:32)
subcars <- subset(mtcars, cyl<10)
subcars$cyl <- as.factor(subcars$cyl)

ggplot(subcars, aes(carb, mpg, group=cyl, colour=cyl)) + 
  geom_line() +
  theme_classic() +
  theme(plot.title = element_text(size = rel(2), face="bold", vjust=-4)) +
  theme(legend.position = "bottom") +
  theme(legend.direction = "horizontal") +
  labs(title="Title") 

Comme vous pouvez le voir, j'ai déjà essayé d'ajouter dans la ligne theme(legend.direction = "horizontal") mais je reçois toujours une légende qui affiche les éléments dans 5 colonnes à 2 lignes (oui, ce n'est même pas seulement sur deux lignes).

Maintenant, je ne peux que supposer qu'il y a eu une mise à jour dont je n'étais pas au courant ou quelque chose, donc je suis prêt à accepter que je dois trouver une nouvelle stratégie pour traiter ce problème (qui n'était tout simplement pas un problème la semaine dernière). Bien que je sois un peu confus quant à la raison pour laquelle mon code a soudainement décidé de cesser de fonctionner (toute entrée sur cet accueil), je suis plus intéressé à trouver un correctif pour le problème immédiat de l'affichage de mes éléments de légende dans une configuration étrange.

20
Psychologeek

Ajoutez ceci à votre intrigue:

+ guides(colour = guide_legend(nrow = 1))
42
joran