我想为背景中的填充矩形添加一个图例,但我已经使用fill
美学来填充我的条形图的条纹。 如何获取图例或手动创建匹配的图例?混合离散值和连续值以获得ggplot2中的填充向导
df <- data.frame(a=factor(c('a','b','c','c','d','e'), levels=c('a','b','c','d','e')),
x=seq(1,6),
b=factor(c('A','A','A','B','B','B'), levels=c('A','B')),
c=c(1,2,3,4,5,6),
d=rnorm(6))
ggplot(df, aes(x, c, fill=d, group=b)) +
geom_rect(aes(xmin=0.5,xmax=3.5,ymin=-Inf,ymax=Inf),alpha=0.05,fill="#E41A1C") +
geom_rect(aes(xmin=3.5,xmax=6.5,ymin=-Inf,ymax=Inf),alpha=0.05,fill="#377EB8") +
geom_bar(stat='identity', position=position_dodge()) +
coord_flip() +
scale_x_continuous(breaks=df$x, labels=df$a)
所以我需要一个图例来描述我的两个geom_rect
区域。我无法以任何方式映射我的两个区域来获取图例。一般来说,df$b
列正在描述我现在手工完成的工作。
在ggplot一般设计为每'aes'(例如参见[这里]一个刻度(https://groups.google.com/forum/#!topic/ggplot2/lDvsd4yJ0AE) )。正如@Didzis Elferts的回答所示,需要各种解决方法(另请参阅[这里](http://stackoverflow.com/questions/11752709/using-two-scale-colour-gradients-on-one-ggplot)和[这里](http://stackoverflow.com/questions/16129876/ggplot2-multiple-scales-legends-per-aesthetic-revisited))。 – Henrik
感谢您的额外链接,已经有很好的解决方法。我想我以错误的方式搜索并没有找到它们。 – drmariod