微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R ggplot2控制图例列

如何解决R ggplot2控制图例列

我想使用$url = parse_url("http://dev.example.com/state/store"); 命令ggplot在图例的三列中显示离散类别。

但理想情况下,我想

a)以有意义的方式组织图例关键字列(下面将保留所有否定类别,在中间保留0个单独的值,在右列保留所有正值)

b)理想情况下,每列还应具有一个标题(例如“正”,“无”,“负”)

当前,如您所见,这些列只是按照因子级别的顺序进行组织的。 任何想法如何做到这一点?

非常感谢您的帮助!

guides(fill = guide_legend(ncol=3))

enter image description here

解决方法

您可以尝试使用new_scale_fill软件包的ggnewscale功能。

library(ggnewscale)

pal_rdbu <- scales::brewer_pal(palette = "RdBu")(7)

ggplot(world) +
  geom_polygon(aes(x=long,y=lat,group=group,fill=value)) +
  coord_quickmap() + 
  theme_void()+ 
  scale_fill_manual(name = "positive",breaks = 3:1,values=c(NA,NA,pal_rdbu[5:7]))+
  new_scale_fill() +
  geom_polygon(aes(x=long,fill=value)) +
  scale_fill_manual( name = "neutral",breaks = 0,pal_rdbu[4],NA)) +
  new_scale_fill() +
  geom_polygon(aes(x=long,fill=value)) +
  scale_fill_manual( name = "negative",breaks = -1:-3,values=c(pal_rdbu[1:3],NA)) +
  theme(legend.position = "bottom",legend.direction = 'vertical')

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。