如何关闭 ggplot 堆叠条形图中的颜色图例?所有解决方案都失败了
Posted
技术标签:
【中文标题】如何关闭 ggplot 堆叠条形图中的颜色图例?所有解决方案都失败了【英文标题】:How to turn off color legend in a ggplot stacked bar graph? all solutions have failed 【发布时间】:2021-08-15 05:35:47 【问题描述】:我有一个堆积条形图,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()
【问题讨论】:
你试过在theme_void()
之后设置theme(legend.position="none")
吗?
如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example。
【参考方案1】:
如果您提供了示例数据集(例如 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()
将“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"))
【讨论】:
以上是关于如何关闭 ggplot 堆叠条形图中的颜色图例?所有解决方案都失败了的主要内容,如果未能解决你的问题,请参考以下文章
如何在 plotly express 条形图中隐藏颜色条和图例?
R语言ggplot2可视化堆叠的条形图(stacked bar plot)并在每一个条形图的的中间添加对应的数值值标签定位在geom_col堆叠的条形图中的每个条形段的中间