首页 > 解决方案 > 在 R 包 ggplot2 中隐藏图例中的值

问题描述

我试图从 ggplot2 对象的图例中“隐藏”一个值。例如,在以下示例中,我将尝试隐藏图例中的第三个值,同时将实际数据保留在图中。所需的输出将是相同的图,但没有图例中列出的 8 个周期,但数据仍在图中。

ggplot(mtcars, aes(x=wt, y=mpg, group=as.factor(cyl))) +
  geom_point(aes(shape=as.factor(cyl), color=as.factor(cyl)))

我还尝试更改颜色和形状,以便其他所有形状重复,颜色只有黑色和白色,如下所示

plot <- ggplot(mtcars, aes(x=wt, y=mpg, group=as.factor(cyl))) +
        geom_point(aes(shape=as.factor(cyl), color=as.factor(cyl)))

plot2 <- plot +
         scale_colour_manual(values = c('#999999', '#999999','#999999')) +   
         scale_shape_manual(values = c(0, 1, 0))

plot2

但是,当我尝试只保留图例中的前两个值时,它似乎会覆盖以前的更改。例如:

plot2 +
scale_color_discrete(breaks=c(4, 6)) +
scale_shape_discrete(breaks=c(4, 6))    

标签: rggplot2

解决方案


ggplot(mtcars, aes(x=wt, y=mpg, color=as.factor(cyl))) +
  geom_point(aes(shape=as.factor(cyl))) +
  scale_color_discrete(breaks=c(4, 6)) +
  scale_shape_discrete(breaks=c(4, 6))

推荐阅读