J'ai un complot créé dans ggplot2
qui utilise scale_fill_gradientn
. Je voudrais ajouter du texte au minimum et au maximum de la légende de l'échelle. Par exemple, à l'affichage minimum de la légende "Minimum" et à l'affichage maximum de la légende "Maximum". Il existe des publications utilisant des remplissages discrets et ajoutant des étiquettes avec des nombres au lieu de texte (par exemple ici ), mais je ne sais pas comment utiliser la fonction labels
avec scale_fill_gradientn
pour insérer uniquement du texte aux min et max. À l'heure actuelle, je suis susceptible d'obtenir des erreurs:
Error in scale_labels.continuous(scale, breaks) :
Breaks and labels are different lengths
Cette étiquette de texte est-elle possible dans ggplot2 pour ce type d'échelle/remplissage?
# The example code here produces an plot for illustrative purposes only.
# create data frame, from ggplot2 documentation
df <- expand.grid(x = 0:5, y = 0:5)
df$z <- runif(nrow(df))
#plot
ggplot(df, aes(x, y, fill = z)) + geom_raster() +
scale_fill_gradientn(colours=topo.colors(7),na.value = "transparent")
Pour scale_fill_gradientn()
, vous devez fournir les deux arguments: breaks=
et labels=
de même longueur. Avec l'argument limits=
vous étendez la barre de couleurs à la valeur minimale et maximale dont vous avez besoin.
ggplot(df, aes(x, y, fill = z)) + geom_raster() +
scale_fill_gradientn(colours=topo.colors(7),na.value = "transparent",
breaks=c(0,0.5,1),labels=c("Minimum",0.5,"Maximum"),
limits=c(0,1))