天天看點

圖例調整不再是問題——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.好了,這是今天介紹的一些常見的圖例設定問題,趕緊學習吧!