1、圖例設(shè)定
1.1 移除圖例
有多種方法可以移除一副圖中的圖例饺窿,主要為以下幾種:
可以在幾何對象中
geom_xxx(show.legend=F)
使用show.legend=F
參數(shù)使用
guides(fill=F)
函數(shù)及其參數(shù)-
使用標度設(shè)置
scale_fill_xx(guide=F)
-
許多常用標度也可以用來設(shè)置
-
使用系統(tǒng)主題
theme(legend.position='none')
1.2 修改圖例位置
使用theme(legend.position=...)
即可
- 通常指定位置的參數(shù)為'top'、'left'陋气、'right'棍潘、'bottom'
- 同時也可以為
position
參數(shù)指定坐標,讓圖形繪制于指定坐標區(qū)域
1.3 反轉(zhuǎn)圖例項目順序
使用guides(fill=guide_legend(reverse=T))
函數(shù)及參數(shù)即可反轉(zhuǎn)圖例的順序
2洞慎、圖例標題
2.1 修改圖例標題
修改圖例的辦法有以下三種:
- 使用
labs()
函數(shù),并對于圖例屬性的名稱進行修改
p + labs(fill='')
- 可以通過標度
scale_xx_xxx()
函數(shù)中的name=''
參數(shù)來指定 - 使用
guides(fill=guide_legend(title=''))
函數(shù)及參數(shù)來修改
2.2 修改圖例標題外觀
通過主題設(shè)定theme(legend.title= element_xxx()
函數(shù)及其參數(shù)來設(shè)定
2.3 刪除圖例標題
使用2.1節(jié)中的第三個辦法嘿棘,使用title = NULL
即可
3劲腿、圖例標簽
3.1 修改圖例標簽文本
修改圖例中的標簽文本只需要使用標度設(shè)置的labels
參數(shù)即可
scale_xxx_xxx(labels = c(''))
- 如果一個變量被分別映射到兩個圖形屬性,則修改圖例標簽時必須同時修改兩種標度中的標簽
基本的圖例標度函數(shù)
3.2 修改圖例標簽外觀
通過theme(legend.text = elment_xxx()
函數(shù)及參數(shù)來設(shè)定
3.3 含多行文本的標簽
在labels
參數(shù)中設(shè)定文本使鸟妙,在文本中使用\n
表示從此處另起一段
- 但當出現(xiàn)多行文本時焦人,會出現(xiàn)文本疊加的情況;
- 因此需要使用
theme()
函數(shù)增加圖例說明高度并減少各行的間距重父; - 還需要使用grid包中的
unit()
函數(shù)來指定高度
library(grid)
p + scale_fill_discrete(
labels=c("Control", "Type 1\ntreatment","Type 2\ntreatment")) +
theme(legend.text=element_text(lineheight=.8),
legend.key.height=unit(1, "cm"))