在ggplot2中为比例尺图例guide_colorbar添加边框或背景

8

我在ggplot图中有一个颜色条,从白色到红色,但是在白色背景上,白色边框不太容易看清。

是否有办法将图例中的刻度标记颜色改变或在渐变尺度周围添加边框?

这是一个最简示例:

df <- data.frame(x <- rnorm(10),
                 y <- rnorm(10),
                 fill <- rnorm(10))

ggplot(df, aes(x, y, fill = fill)) + 
  geom_point() + 
  scale_fill_gradient(low = 'white', high = 'red')

enter image description here


但这是关于整个图例的...我需要一些关于颜色条的内容,以清楚地说明白色从何处开始... - drmariod
请查看链接中的重复内容。或者您可以更改颜色渐变,以不包括白色。 - Roland
2
或者使用类似于 + theme(legend.background = element_rect(fill = "light grey")) 的内容。 - Roland
1
这里是更改刻度颜色的链接:https://dev59.com/BGEi5IYBdhLWcg3wpdnJ#21089025 - Roland
2个回答

13
在最新的ggplot2(即将发布为2.3版本的开发版本中),现在可以使用此功能:
# devtools::install_github("tidyverse/ggplot2") # do this once
library(ggplot2)
df <- data.frame(x <- rnorm(10),
                 y <- rnorm(10),
                 fill <- rnorm(10))

ggplot(df, aes(x, y, fill = fill)) + 
  geom_point() + 
  scale_fill_gradient(low = 'white', high = 'red',
    guide = guide_colorbar(frame.colour = "black", ticks.colour = "black"))

输入图像描述


8

通过使用element_rectfill参数,我找到了解决我的问题的方法。

df <- data.frame(x <- rnorm(10),
                 y <- rnorm(10),
                 fill <- rnorm(10))

ggplot(df, aes(x, y, fill = fill)) + 
  geom_point() + 
  scale_fill_gradient(low = 'white', high = 'red') + 
  theme(legend.background = element_rect(fill = "grey95"))

enter image description here

我希望在色条周围添加边框,但似乎不可能...

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