首页 > 解决方案 > 从箱线图图例 ggplot2 中删除变量

问题描述

我有一个盒须图,但我不知道如何从图例中删除某些变量。

这是我正在使用的代码

number_ticks <- function(n) {function(limits) pretty(limits, n)}
plot<-ggplot(data,aes(x=Group,y=Hue,fill=Group))+
  geom_boxplot()
plot + scale_y_continuous(breaks=number_ticks(10.5)) +scale_fill_manual(values = c("Control Day" = "red",
                                                                                 "Control Night" = "lightblue",
                                                                                 "Experimental Day" = "red",
                                                                                 "Experimental Night" = "lightblue"), labels=c("Day", "Night")) + coord_flip()

这是我得到的情节: 箱形图

如何从图例中删除“NA”变量?

谢谢!

预计到达时间:

我只想要传说中的“白天”和“夜晚”!NA 是故意这样标记的。

标签: rggplot2

解决方案


我认为您可以使用separatefrom tidyrpackage 为 Day/Night 和 Experimental/Control 案例创建一个新列。

data %>%  separate(Group , sep =" " , remove = FALSE , c("Condition_1" , "Condition_2")) %>% 
ggplot(aes(x=Group,y=Hue,fill=Condition_2))+ 
geom_boxplot() + scale_y_continuous(breaks=number_ticks(10.5))+
scale_fill_manual(values = c("red", "lightblue"), labels=c("Day", "Night")) + coord_flip()

separate创建了两个新列,Condition_1 用于 Experimental/Control,Condition_2 用于 Day/Night,并使用 Condition_2 填充框。


推荐阅读