How do I manually change the key labels in a legend in ggplot2

前端 未结 2 759
陌清茗
陌清茗 2020-11-30 03:38

I am preparing a plot for publication. I created a stacked box plot to show frequency of patients in each group who were some complicated accumulation of seronegatives versu

2条回答
  •  佛祖请我去吃肉
    2020-11-30 04:11

    The standard way is to use the scale functions to change the displayed labels for groups. You can replace your ggplot call with

    ggplot(data, aes(grp, fill=outcome)) + geom_bar() +xlab("group") +
      ylab("number of subjects") + 
      scale_fill_discrete("Serologic response", 
                          breaks=c("(10.1,79.9]","(79.9,150]"), 
                          labels=c("double negative", "positive for a and/or b"))
    

    Note that the scale's title has been incorporated into the scale_fill_discrete call. You can do this with the axes too, if you like

    ggplot(data, aes(grp, fill=outcome)) + geom_bar() +
      scale_x_discrete("group") +
      scale_y_continuous("number of subjects") + 
      scale_fill_discrete("Serologic response", 
                          breaks=c("(10.1,79.9]","(79.9,150]"), 
                          labels=c("double negative", "positive for a and/or b"))
    

提交回复
热议问题