J'ai passé des heures à chercher dans la documentation et sur StackOverflow, mais aucune solution ne semble résoudre mon problème. Lors de l'utilisation, ggplot
je ne parviens pas à obtenir le bon texte dans la légende, même s'il se trouve dans mon cadre de données. J'ai essayé scale_colour_manual
, scale_fill_manual
avec des valeurs différentes pour labels=
telles que c("T999", "T888")", "cols"
.
Voici mon code:
T999 <- runif(10, 100, 200)
T888 <- runif(10, 200, 300)
TY <- runif(10, 20, 30)
df <- data.frame(T999, T888, TY)
ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) +
geom_point(size = 15, colour = "darkblue") +
geom_point(data = df, aes(x=T888, y=TY), colour = 'red', size = 10 ) +
theme(axis.text.x = element_text(size = 20), axis.title.x =element_text(size = 20), axis.text.y = element_text(size = 20)) +
xlab("Txxx") + ylab("TY [°C]") + labs(title="temperatures", size = 15) +
scale_colour_manual(labels = c("T999", "T888"), values = c("darkblue", "red")) + theme(legend.position="topright")
Une aide serait très appréciée!
ggplot
est le plus satisfait (long, pas large) et pour avoir une idée de la différence entre le mappage d' uneaes
thétique à une variable dans l'aes
appel, et la définir à l'extérieuraes
. Vous avez besoin demelt
vos données dans un format long et de mappercolour
(oufill
) dansaes
la variable appropriée.Réponses:
Le didacticiel @Henrik mentionné est une excellente ressource pour apprendre à créer des graphiques avec le
ggplot2
package.Un exemple avec vos données:
cela se traduit par:
Comme mentionné par @ user2739472 dans les commentaires: Si vous souhaitez uniquement modifier les étiquettes de texte de la légende et non les couleurs de la palette par défaut de ggplot, vous pouvez utiliser à la
scale_color_hue(labels = c("T999", "T888"))
place descale_color_manual()
.la source
scale_color_hue(labels = c("T999", "T888"))
place descale_color_manual()
Les titres de légende peuvent être étiquetés par une esthétique spécifique .
Ceci peut être réalisé en utilisant les fonctions
guides()
oulabs()
deggplot2
(plus ici et ici ). Il vous permet d'ajouter des propriétés de guide / légende à l'aide du mappage esthétique.Voici un exemple utilisant l'
mtcars
ensemble de données etlabs()
:Répondre à la question du PO en utilisant
guides()
:la source
scale_ ..
oulabs
.scale_color_manual(title="...", ...)
. Je vois que vous l'avez modifié pour faire référence à l'esthétique de la couleurlabs()
. J'offre ma solution comme alternative.