R语言之可视化①⑨子ggplot2中的图例修改
2019-01-08 本文已影响10人
柳叶刀与小鼠标
目录
R语言之可视化①误差棒
R语言之可视化②点图
R语言之可视化③点图续
R语言之可视化④点韦恩图upsetR
R语言之可视化⑤R图形系统
R语言之可视化⑥R图形系统续
R语言之可视化⑦easyGgplot2散点图
R语言之可视化⑧easyGgplot2散点图续
R语言之可视化⑨火山图
R语言之可视化⑩坐标系统
R语言之可视化①①热图绘制heatmap
R语言之可视化①②热图绘制2
R语言之可视化①③散点图+拟合曲线
R语言之可视化①④一页多图(1)
R语言之可视化①⑤ROC曲线
R语言之可视化①⑥一页多图(2)
R语言之可视化①⑦调色板
R语言之可视化①⑧子图组合patchwork包
R语言之可视化①⑨子ggplot2中的图例修改
=======================
正文
自定义ggplot2图的图例。这里我们要修改非数据组件,通常通过theme()
命令来完成。 此页面受到ggplot2(?theme)
帮助页面的强烈启发。 另外,请访问非常强大的ggplot2文档以获取更多信息。我们从mtcars数据集和默认图例开始:
library(ggplot2)
basic=ggplot(mtcars, aes(wt, mpg, colour = factor(cyl), shape = factor(vs) )) +
geom_point()
basic
![](https://img.haomeiwen.com/i9218360/c561fba7c93cd6a9.png)
- 修改图例中的分类名字
basic+labs(
colour = "name1",
shape = "name2"
)
![](https://img.haomeiwen.com/i9218360/f1146881cd635f7d.png)
- 删除图例中的一类
basic + guides(shape=FALSE)
![](https://img.haomeiwen.com/i9218360/5443ceec0311da5f.png)
修改图例位置
要删除图例,请在theme()
中使用legend.position =“none”
。 要更改其位置,但在图表外使用bottom,left,right或top。 或者使用0和1之间的相对坐标放置在图中。
#1: no legend
basic + theme(legend.position = "none")
![](https://img.haomeiwen.com/i9218360/9a925c15963a9360.png)
#2: around the plot
basic + theme(legend.position = "bottom")
![](https://img.haomeiwen.com/i9218360/d8b776290ecb6ef7.png)
#3: inside the plot
basic + theme(
legend.position = c(.95, .95),
legend.justification = c("right", "top"),
legend.box.just = "right",
legend.margin = margin(6, 6, 6, 6)
)
![](https://img.haomeiwen.com/i9218360/4411fa388ab00abc.png)
一些自定义图例的测试
# 图例被红框包裹
basic + theme(
legend.box.background = element_rect(color="red", size=2),
legend.box.margin = margin(116, 6, 6, 6)
)
![](https://img.haomeiwen.com/i9218360/c1e373b8903e0620.png)
# 图例中指示图标的边框设置
basic + theme(legend.key = element_rect(fill = "white", colour = "black"))
![](https://img.haomeiwen.com/i9218360/39445eccd0b457c3.png)
#图例中的字体设置
basic + theme(legend.text = element_text(size = 8, colour = "red"))
![](https://img.haomeiwen.com/i9218360/b98cf7c10181f979.png)
# 设置图例中的标题
basic + theme(legend.title = element_text(face = "bold"))
![](https://img.haomeiwen.com/i9218360/f9c29af70567c09e.png)