我正在尝试使用ggplot2创建一个条形图,边框用于图例颜色,但不用于条形图。
我尝试添加scale_fill_manual
,其中'grey32'映射到Municipalities以及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'))
谢谢!
答案 0 :(得分: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")))
在这种情况下,您似乎需要用“u”拼写“颜色”。
我通常使用此方法执行相反操作(从填充图例中删除颜色)或覆盖图例的alpha
设置。
根据您的示例情节判断,您可能还希望将reverse = TRUE
传递给guide_legend
,这会将橙色放在底部,白色位于顶部以匹配您的情节。