使用 geom_bar 更改填充的图例形状大小

Mat*_*t D 2 r ggplot2

这是我的可重现代码:

这是我想要的实际身材的一个例子。

library(tidyverse)
p <- mtcars %>%
  mutate(cyl = factor(cyl)) %>%
  ggplot(aes(carb)) + 
  geom_bar(aes(fill = cyl)) +
  scale_fill_manual(values = c("Red","Green","Blue"))
Run Code Online (Sandbox Code Playgroud)

结果图: 直方图示例

问题:

我要改变的是传说中的。直方图上描述条形颜色的框太大,我想缩小尺寸。

尝试过的解决方案:

我已经尝试过另一个stackoverflow 问题中的代码,但它不起作用:

p <- p + guides(fill = guide_legend(override.aes = list(width = .5)))
Run Code Online (Sandbox Code Playgroud)

在参考 stackoverflow 问题中,另一位用户建议创建一个虚拟 geom_point 变量,然后使用该图例作为图例并删除填充图例。如果可能的话,我宁愿不必这样做。

感谢您的帮助。

ero*_*oar 7

使用legend.key.size(或legend.key.heightlegend.key.width)。例如,添加

theme(legend.key.size = unit(0.1, "cm"))
Run Code Online (Sandbox Code Playgroud)

到你的情节