首页 文章

ggplot图例斜线

提问于
浏览
21

这肯定让过去的某个人感到恼火,请原谅我,如果这是重复的,我会将其删除 . 使用 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"))

enter image description here

当我使用彩色条时,我使用这个工作,绘制没有颜色的条,例如

a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) +
 scale_fill_manual(values=c("white", "black"))

但是,当填充为白色时,在没有边框的图例中留下不满意的空白框 . 例如

enter image description here

我过去已经使用图形软件手动修复了这个问题,但现在我认为这对于足够的人来说必须在这里提出一个问题 . 我们是否可以仅使用黑色轮廓绘制 ggplot 图例,但没有斜线?

2 回答

  • 3

    这个,

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

    给了我这个,
    enter image description here
    感谢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'))
    

    Important note :在现代版本的ggplot2中, opts 已被弃用并替换为 theme ,而 theme_rect 已被 element_rect 替换 .

  • 13

    不,这就是它的轮廓 . 如果你使用灰色而不是白色(使用你的技巧),那么它就更容易辨别了 . 您还可以为图例添加背景颜色,使其更具可辨性并保持白色 . 有关更多详细信息,请参阅本页底部:

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

    我希望有一种不那么强硬的方式来做到这一点 .

相关问题