天天看点

图例调整不再是问题——R语言中guides()函数的详细指南

作者:Paper绘图

背景介绍

使用R语言绘图的时候,有一个地方的调整一直让我苦恼,那就是——图例,往往不知道如何去调整。

今天我们来说一下这个问题,解决图例调整中的常见问题!

软件介绍

[软件名称] : R

[软件名称] : RStudio

教程介绍

1.guides()函数是ggplot2中的一个函数,可以用来进行legend的设置,每个标度可以使用guide参数逐标度设置,也可以使用Guides()整体设置

图例调整不再是问题——R语言中guides()函数的详细指南

2.可能看这个有点懵,我们直接来看示例即可,先生成一组数据和一张图用来举例

dat <- data.frame(x = 1:5, y = 1:5, p = 1:5, q = factor(1:5),
                  r = factor(1:5))
p <-
  ggplot(dat, aes(x, y)) +
  geom_point(aes(fill = p, size = q, shape = r))+
  theme_bw()

# without guide specification
p           
图例调整不再是问题——R语言中guides()函数的详细指南
图例调整不再是问题——R语言中guides()函数的详细指南

3.目前右边有3个legend,如果我们想要去除一个怎么办?比如想去掉颜色的legend

p + guides(colour = "none")           
图例调整不再是问题——R语言中guides()函数的详细指南

4.如果想去除两个呢?

p + guides(colour = "none",
           size = "none")           
图例调整不再是问题——R语言中guides()函数的详细指南

5.如果想要修改legend的名字呢?也可以更改其中一个的名字

# Guides are integrated where possible
p +
  guides(
    colour = guide_legend("colour"),
    size = guide_legend("size"),
    shape = guide_legend("shape")
  )           
图例调整不再是问题——R语言中guides()函数的详细指南

6.想把标签放在图形下面呢?

p + theme(legend.position = "bottom")           
图例调整不再是问题——R语言中guides()函数的详细指南

7.如果想要设置标签的顺序呢?

p+guides(
  colour = guide_colourbar(order = 2),
  shape = guide_legend(order = 1),
  size = guide_legend(order = 3)
)           
图例调整不再是问题——R语言中guides()函数的详细指南

8.如果想更改图例的大小呢,可以进行如下设置

p+guides(
  colour = guide_legend(override.aes = list(size = 10)),
  shape = guide_legend(override.aes = list(size = 5))))           
图例调整不再是问题——R语言中guides()函数的详细指南

9.好了,这是今天介绍的一些常见的图例设置问题,赶紧学习吧!