这一定让某人过去很生气,所以请原谅我,如果这是重复的,我会将其删除。使用geom_bar
时,使用图例斜杠可能很烦人。例如:
x <- c("a","b")
y <- c(1,2)
df <- as.data.frame(cbind(x,y))
a <- ggplot(df,aes(x=x,y=y,fill=x))
a + geom_bar(colour="black") + scale_fill_manual(values=c("white", "black"))
当我使用彩色条时,我会使用此工作,首先绘制没有颜色的条形图。
a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) +
scale_fill_manual(values=c("white", "black"))
然而,当填充为白色时,在没有边框的图例中留下不满意的空白框。 e.g。
我过去已经使用图形软件手动修复了这个问题,但现在我认为这对于足够多的人在这里提问一定是有用的。我们是否可以ggplot
仅使用黑色轮廓绘制图例但没有斜线?
答案 0 :(得分:13)
此,
a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) +
scale_fill_manual(values=c("white", "black")) +
opts(legend.key = theme_rect(fill = 'black'))
给了我这个, 感谢this site。
Alos,您使用colour
而不是fill
得到相同的结果(可能有人认为一个更好)。
a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) +
scale_fill_manual(values=c("white", "black")) +
opts(legend.key = theme_rect(colour = 'black'))
重要说明:现代版本的ggplot2 opts
已弃用,已替换为theme
,theme_rect
已被element_rect
取代
答案 1 :(得分:3)
不,这就是它的轮廓。如果你使用灰色而不是白色(使用你的技巧),那么它就更容易辨别了。您还可以为图例添加背景颜色,使其更具可辨性并保持白色。有关更多详细信息,请参阅本页底部:
http://wiki.stdout.org/rcookbook/Graphs/Legends%20(ggplot2)/
我希望有一种不那么强硬的方式来做到这一点。