How to reverse legend (labels and color) so high value starts downstairs?

后端 未结 3 1623
礼貌的吻别
礼貌的吻别 2020-12-09 16:19

whats the best way to invert the legend label order so the 7 is down and the 1 is upstairs?

\"ggplot

相关标签:
3条回答
  • 2020-12-09 17:12

    If you're putting it in numeric and it's a continuous scale, you're better off with scale_fill_continuous(trans = 'reverse') or scale_colour_continuous. Using your code, this would give:

    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')
    
    0 讨论(0)
  • 2020-12-09 17:14

    Your code is quite strange, with false instead of FALSE and incorrectly placed guide_legend. The correct usage is (@Harpal gives a hint on that):

    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 here enter image description here

    0 讨论(0)
  • 2020-12-09 17:15

    For continuous scales, guide_colorbar is required.

    Here I reverse color direction. Then I reverse color and size order with different functions

    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 讨论(0)
提交回复
热议问题