ggplot传说斜杠(ggplot legend slashes)

2019-06-24 13:48发布

这必须有生气的人在过去这么原谅我,如果这是一个重复,我将其删除。 当使用跨传说斜线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"))

然而,当填充为白色这留下传说中的一个不令人满意的空白盒没有边框。 例如

我在过去的这个固定使用图形软件手动,但现在我想这一定是要使用足够多的人来这里问一个问题。 我们可以ggplot与黑色轮廓绘制的传说,但只加斜杠?

Answer 1:

这个,

 a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) +
 scale_fill_manual(values=c("white", "black")) + 
 opts(legend.key = theme_rect(fill = 'black'))

给了我这个, 多亏了这个网站 。

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



Answer 2:

没有,这就是给它它的轮廓。 如果使用的是灰色的,而不是白色的(与你的绝招)它更容易分辨。 您还可以添加背景色传说,使之更容易分辨,并保持它的白色。 看到这个页面的更详细的底部:

http://wiki.stdout.org/rcookbook/Graphs/Legends%20(ggplot2)/

我希望有一个更小的hackish办法做到这一点。



文章来源: ggplot legend slashes
标签: r ggplot2