首页 > 解决方案 > 如何关闭 ggplot 堆叠条形图中的颜色图例?所有解决方案都失败了

问题描述

我有一个堆积条形图,ggplot 自动生成了一个我想删除的颜色图例。我已经尝试过 show.legend=FALSE、theme(legend.position="none") 和 guides(colour=FALSE),但这些解决方案都没有删除图例。我将包括下面的代码。

ggplot(unique_per_day, aes(fill=Entity.Name,y=prop, x=Entity.Type, width = org.count, label=Entity.Name), show.legend=FALSE) + 
    geom_bar(position="fill", stat="identity", colour= "black") + 
    facet_grid(~Entity.Type, scales="free_x", space="free_x" ) +
    theme(legend.position="none", panel.spacing.x = unit(0, "npc")) +
    guides(colour=FALSE) +
    geom_text(size = 2.4, position = position_stack(vjust = 0.5)) +
    theme_void()

示例_1.png

标签: rggplot2legend

解决方案


如果您提供了一个示例数据集(例如dput(unique_per_day)),排除故障会更容易,但我的猜测是您需要删除“填充”美学,而不是“颜色”美学,例如

ggplot(unique_per_day, aes(fill=Entity.Name,y=prop, x=Entity.Type, width = org.count, label=Entity.Name)) + 
    geom_bar(position="fill", stat="identity", colour= "black", show.legend=FALSE) + 
    facet_grid(~Entity.Type, scales="free_x", space="free_x" ) +
    guides(fill = FALSE) +
    geom_text(size = 2.4, position = position_stack(vjust = 0.5)) +
    theme_void() +
    theme(legend.position="none", panel.spacing.x = unit(0, "npc"))

编辑

这是使用“palmerpenguins”示例数据集的示例:

使用原始代码:

library(tidyverse)
library(palmerpenguins)

penguins %>%
  na.omit() %>%
  filter(island == "Dream") %>%
  ggplot(aes(x = species, y = 1, fill = sex)) +
  geom_bar(position = "fill", stat = "identity", colour = "black") +
  facet_grid(~ island, scales = "free_x", space = "free_x") +
  theme(legend.position = "none", panel.spacing.x = unit(0, "npc")) +
  guides(colour = FALSE) +
  theme_void()

示例_1.png

将“theme_void”移到“主题”上方:

penguins %>%
  na.omit() %>%
  filter(island == "Dream") %>%
  ggplot(aes(x = species, y = 1, fill = sex)) +
  geom_bar(position = "fill", stat = "identity", colour = "black") +
  facet_grid(~ island, scales = "free_x", space = "free_x") +
  theme_void() +
  theme(legend.position="none", panel.spacing.x = unit(0, "npc"))

示例_2.png


推荐阅读