web-dev-qa-db-fra.com

Comment inverser la légende (étiquettes et couleur) pour qu'une valeur élevée commence en bas?

quelle est la meilleure façon d'inverser l'ordre des étiquettes de légende pour que le 7 soit en bas et le 1 en haut?

ggplot legend challenge

df$day <- as.numeric(df3$day)
blues <- colorRampPalette(c('#132B43', '#56B1F7'))

p4 <- 
    ggplot(subset(df,feedback==1&stp>20), aes(x=correct, fill=day, colour=day)) +
    geom_histogram(colour="black", binwidth=10) +
    facet_grid(day ~ .) +
    ggtitle("Over-pronation histogram") +
    ylab("Count (150s period)") +
    xlab("% Steps in over-pronation") +guide_legend(reverse = false)
20
user1205101

Votre code est assez étrange, avec false au lieu de FALSE et mal placé guide_legend. L'utilisation correcte est (@Harpal donne un indice à ce sujet):

ggplot(data.frame(x=1:4, y=4:1, col=factor(1:4)), aes(x=x, y=y, col=col)) + 
  geom_point(size=10)
ggplot(data.frame(x=1:4, y=4:1, col=factor(1:4)), aes(x=x, y=y, col=col)) + 
  geom_point(size=10) + guides(colour = guide_legend(reverse=T))

enter image description hereenter image description here

34
tonytonov

Si vous le mettez en numérique et que c'est une échelle continue, il vaut mieux utiliser scale_fill_continuous(trans = 'reverse') ou scale_colour_continuous. En utilisant votre code, cela donnerait:

ggplot(subset(df,feedback==1&stp>20), aes(x=correct, fill=day, colour=day)) +
    geom_histogram(colour="black", binwidth=10) +
    facet_grid(day ~ .) +
    ggtitle("Over-pronation histogram") +
    ylab("Count (150s period)") +
    xlab("% Steps in over-pronation")+
    scale_fill_continuous(trans = 'reverse')
8
dmt

Pour les échelles continues, guide_colorbar est requis.

Ici, j'inverse la couleur direction. Ensuite, j'inverse la couleur et la taille ordre avec différentes fonctions

library(tidyverse)
library(janitor)
iris %>% 
  as_tibble() %>% 
  clean_names() %>% 
  ggplot(aes(x = sepal_length,
             y = petal_width,
             size = sepal_width,
             color = petal_length)) +
  geom_point() +
  facet_wrap(~species,scales = "free") +
  #reverse color direction (the higher in value, the darker in color)
  scale_color_continuous(trans = 'reverse') +
  #edit legends
  guides(
    #reverse color order (higher value on top)
    color = guide_colorbar(reverse = TRUE),
    #reverse size order (higher diameter on top) 
    size = guide_legend(reverse = TRUE))
0
avallecam