使用ggplot2生成带有移位标签的颜色图例

我通常使用GrADS绘制地图,通常我使用的颜色图例在图中看起来像这样:

我想在R中使用ggplot2做同样的事情.如果简单地使用:

g <- g + scale_fill_brewer(palette="Greens", na.value="NA", name=legendtitle)
#g is the previously saved plot with some simple options, prepared with cut()

输出当然是这样的:

所以我希望能够做两件事:

>移动标签,使它们在颜色之间,注意指示上面的间隔(注意:重命名标签不是问题,转移它们是)
>最后一个标签应该是箭头状的,表示高于最大值的条目(示例中为10)以最暗的颜色(示例中为深绿色)表示.

编辑:
在下面的答案的帮助下,我来到这里:

我的问题的第1部分几乎已经解决了,即使它看起来并不完美.我真的想摆脱颜色之间的白色空间,任何想法?第2部分……我完全不知道.

我的代码段使用:
主题(legend.position =“bottom”,legend.key.width = unit(1,“cm”),legend.key.height = unit(0.3,“cm”))指南(fill = guide_legend(label.position = “bottom”,label.hjust = 1.2))

这是让你入门的东西.

这个想法是你使用cut()来创建切割点,但是以你想要的方式指定标签.

通过将图例放在图的底部,ggplot会自动将图例标签“置于”值之间.

library(ggplot2)

dat <- data.frame(x=0:100, y=runif(101, 0, 10), z=seq(0, 12, len=101))

dat$col <- cut(
  dat$z, 
  breaks=c(0, 2, 4, 6, 8, 10, Inf), 
  labels=c(2, 4, 6, 8, 10, "-->")
)

ggplot(dat, aes(x, y, col=col)) + 
  geom_point(size=10) + 
  scale_colour_brewer("", palette="Greens") +
  theme(legend.position="bottom")
https://stackoverflow.com/questions/26802272/generating-a-color-legend-with-shifted-labels-using-ggplot2

转载注明原文:使用ggplot2生成带有移位标签的颜色图例