如何为大小和填充ggplot提供单独的图例

时间:2018-11-09 04:28:00

标签: r ggplot2

当我使用与此类似的代码时,会得到两个单独的图例,分别用于填充大小。但是,我不希望填充图例显示点,并且不希望 size 图例显示背景。

ggplot(data=Temp1) +
geom_bar(mapping=aes(x=K,y=ImpactX,group=Area,fill=Area,size=ImpactX),show.legend=T,
stat='identity',position=position_dodge(0.8)) +
geom_point(mapping=aes(x=K,y=ImpactX,group=Area,size=ImpactX),
color='black',fill='transparent',shape=19,
position=position_dodge(0.8),show.legend=T,na.rm=T) +
scale_size_continuous(name='Size',range=c(1,4))

这是我的示例数据(enter image description here)。仅包含一个数据表 Temp1

np.cumsum

1 个答案:

答案 0 :(得分:3)

我将主题和带有guide.legend的guide.legend结合使用。

ggplot(data=Temp1) +
    geom_bar(mapping=aes(x=K,y=ImpactX,group=Area,fill=Area,size=ImpactX),show.legend=T,
             stat='identity',position=position_dodge(0.8)) +
    geom_point(mapping=aes(x=K,y=ImpactX,group=Area,size=ImpactX),
               color='black',fill='transparent',shape=19,
               position=position_dodge(0.8),show.legend=T,na.rm=T) +
    scale_size_continuous(name='Size',range=c(1,4)) + 
    theme(legend.key = element_rect(fill = "white",linetype = 0)) +
    guides(size = guide_legend(override.aes =list(fill = "white"))) + 
    guides(fill = guide_legend(override.aes = list(shape = NA)))

enter image description here