ggplot2图例边框有颜色但柱状图没有边框

4
我正在尝试使用ggplot2创建一个条形图,图例颜色需要有边框,但是条形图不需要边框。我尝试添加scale_fill_manual命令,将'grey32'映射到市政单位,以及legend.key = element_rect(colour='grey32'),但两者都没有在图例元素周围添加边框。以下是我的代码:
ggplot(muns, aes(x=Regional.District, y=Population.2010, fill=Municipality)) +
  geom_bar(stat='identity', width=0.6) +
  xlab("Regional District") + ylab("Population 2010") +
  scale_y_continuous(labels = comma) +
  scale_fill_manual(values=fill.vals, breaks=muns$Municipality, labels=muns$lab) +
  geom_text(aes(y=bylaw.sums[1], label=c('No Bylaw')), colour = "gray32") +
  geom_text(aes(y=bylaw.sums[1]*2+bylaw.sums[2], label=c('Bylaw')), colour = "gray32") +
  theme(text=element_text(size=12, family="Open Sans"))

没有边框的条形图

这是我想要的效果: 图例有边框但图表没有边框的条形图

我尝试过:

scale_colour_manual(values=greys, breaks=muns$Municipality, labels=muns$lab) +

以及

theme(legend.key = element_rect(colour='grey32'))

谢谢你!

1个回答

5
尝试使用+ guides(fill = guide_legend(override.aes = list(colour = "black"))) 工作实例:
ggplot(iris, aes(x = Species, fill = Species)) +
    geom_bar() + 
    guides(fill = guide_legend(override.aes = list(colour = "black")))

在这种情况下,看起来你需要在“colour”一词中加上“u”。
通常我使用这种方法来执行相反的操作(从填充图例中移除颜色),或者用于覆盖图例的alpha设置。
从你的样例图中判断,你可能还想传递“reverse = TRUE”给“guide_legend”,这将把橙色放在底部,白色放在顶部以匹配你的图表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接