前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ggplot2 |legend参数设置,图形精雕细琢

ggplot2 |legend参数设置,图形精雕细琢

作者头像
生信补给站
发布于 2020-08-06 03:16:03
发布于 2020-08-06 03:16:03
2.3K00
代码可运行
举报
文章被收录于专栏:生信补给站生信补给站
运行总次数:0
代码可运行

学习了ggplot2|详解八大基本绘图要素后,就可以根据自己的需要绘制图形。前面也给出了一些ggplot2绘制生信分析基本图形的例子pheatmap|暴雨暂歇,“热图”来袭!!!,ggplot2-plotly|让你的火山图“活”过来,ggplot2|扩展包从0开始绘制雷达图,ggplot2| 绘制KEGG气泡图,ggplot2|绘制GO富集柱形图,ggplot2|从0开始绘制PCA图,ggplot2|ggpubr进行“paper”组图合并,本文将介绍一些对legend的细节操作来完成图形的“精雕细琢”。

载入R包和数据

mtcars数据集作为示例数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(ggplot2)
#查看数据集
head(mtcars)                   mpg cyl disp  hp drat    wt  qsec vs am gear carbMazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
# 将cyl gear变量转为因子变量
mtcars$cyl<-as.factor(mtcars$cyl)
mtcars$gear <- as.factor(mtcars$gear)

绘制基本图形

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#gear为横坐标,对mpg做箱线图,gear填充颜色
p <- ggplot(mtcars, aes(x=gear, y=mpg, fill=gear)) + geom_boxplot()
p

设置 legend position

使用 theme() 参数设置legend位置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 可选参数为“left”,“top”, “right”, “bottom”.
p + theme(legend.position="bottom")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 数值向量 c(x,y) 调控位置
p + theme(legend.position = c(0.8, 0.2))

更改legend 的title , font styles

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# legend title
p + theme(legend.title = element_text(colour="blue", size=10,
                                      face="bold"))
# legend labels
p + theme(legend.text = element_text(colour="blue", size=10,
                                     face="bold"))

设置 legend 背景色

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#fill设置legend box背景色,colour设置边框颜色
p + theme(legend.background = element_rect(fill="lightblue",
                                  size=0.5, linetype="solid",
                                  colour ="darkblue"))

设置legend items顺序

scale_x_discrete自定义设置顺序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p + scale_x_discrete(limits=c("3", "5", "4"))

去除legend

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 去除legend title
p + theme(legend.title = element_blank())
# 去除整个legend
p + theme(legend.position='none')

guides 设置specific aesthetic

使用guides()参数来设置或移除特定的美学映射(fill, color, size, shape等).

因子变量cyl和gear映射为点图的颜色和形状,qsec决定点的大小。

更多用法可参考 链接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p <- ggplot(data = mtcars,
    aes(x=mpg, y=wt, color=cyl, size=qsec, shape=gear))+
    geom_point()
# 不设定specific aesthetic时候
p

设置多个legend的位置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 更改 legend position
p +theme(legend.position="bottom")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Horizontal legend box
p +theme(legend.position="bottom", legend.box = "")

设置multiple guides顺序

The function guide_legend() is used :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p+guides(color = guide_legend(order=1),
         size = guide_legend(order=2),
         shape = guide_legend(order=3))

去除particular aesthetic

通过设置FALSE,可不展示对应的legend

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p+guides(color = FALSE)

也可以使用scale_xx.函数去掉特定的legend

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Remove legend for the point shape
p+scale_shape(guide=FALSE)
# Remove legend for size
p +scale_size(guide=FALSE)
# Remove legend for color
p + scale_color_manual(values=c('#999999','#E69F00','#56B4E9'),
                      guide=FALSE)

通过以上参数的设置即完成对所绘制图形的legend的细节修改,得到自己所需要的图形。

参考资料:http://www.sthda.com/english/wiki/ggplot2-legend-easy-steps-to-change-the-position-and-the-appearance-of-a-graph-legend-in-r-software

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信补给站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【动手学深度学习】多层感知机之暂退法问题研究详情
如果更改第一层和第二层的暂退法概率,会发生什么情况?具体地说,如果交换这两个层,会发生什么情况?设计一个实验来回答这些问题,定量描述该结果,并总结定性的结论
SarPro
2024/06/06
1640
【动手学深度学习】多层感知机之暂退法问题研究详情
【动手学深度学习】多层感知机之暂退法研究详情
启动jupyter notebook,使用新增的pytorch环境新建ipynb文件,为了检查环境配置是否合理,输入import torch以及torch.cuda.is_available() ,若返回TRUE则说明研究环境配置正确,若返回False但可以正确导入torch则说明pytorch配置成功,但研究运行是在CPU进行的,结果如下:
SarPro
2024/06/14
1420
【动手学深度学习】多层感知机之暂退法研究详情
【深度学习基础】多层感知机 | 权重衰减
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
Francek Chen
2025/01/22
1110
【深度学习基础】多层感知机 | 权重衰减
动手学DL——MLP多层感知机【深度学习】【PyTorch】
加入一个或多个隐藏层+激活函数来克服线性模型的限制, 使其能处理更普遍的函数关系类型,这种架构通常称为多层感知机(multilayer perceptron)。
来杯Sherry
2023/08/10
1.6K0
动手学DL——MLP多层感知机【深度学习】【PyTorch】
【动手学深度学习笔记】之通过权重衰减法解决过拟合问题
为了减轻上一篇文章提到的过拟合现象,往往需要增大训练集,但增大训练集的代价往往是高昂的。
树枝990
2020/08/19
1.5K0
【动手学深度学习】softmax回归的简洁实现详情
启动jupyter notebook,使用新增的pytorch环境新建ipynb文件,为了检查环境配置是否合理,输入import torch以及torch.cuda.is_available() ,若返回TRUE则说明研究环境配置正确,若返回False但可以正确导入torch则说明pytorch配置成功,但研究运行是在CPU进行的,结果如下:
SarPro
2024/06/06
2490
【动手学深度学习】softmax回归的简洁实现详情
从零开始学Pytorch(三)之多层感知机的实现
我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。
墨明棋妙27
2022/08/24
1.2K0
从零开始学Pytorch(三)之多层感知机的实现
【深度学习基础】多层感知机 | 暂退法(Dropout)
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
Francek Chen
2025/01/22
1800
【深度学习基础】多层感知机 | 暂退法(Dropout)
动手学深度学习(三) 多层感知机
深度学习主要关注多层模型。在这里,我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。
致Great
2020/02/24
1.1K0
【动手学深度学习笔记】之过拟合与欠拟合实例
每个小批量设置为10,使用TensorDataset转换为张量,使用DataLoader生成迭代器。
树枝990
2020/08/20
6780
【深度学习基础】多层感知机 | 实战Kaggle比赛:预测房价
  之前几节我们学习了一些训练深度网络的基本工具和网络正则化的技术(如权重衰减、暂退法等)。本节我们将通过Kaggle比赛,将所学知识付诸实践。Kaggle的房价预测比赛是一个很好的起点。此数据集由Bart de Cock于2011年收集,涵盖了2006-2010年期间亚利桑那州埃姆斯市的房价。这个数据集是相当通用的,不会需要使用复杂模型架构。它比哈里森(Harrison)和鲁宾菲尔德(Rubinfeld)的波士顿房价数据集要大得多,也有更多的特征。
Francek Chen
2025/02/02
2410
【深度学习基础】多层感知机 | 实战Kaggle比赛:预测房价
【动手学深度学习笔记】之通过丢弃法缓解过拟合问题
除了上一篇文章介绍的权重衰减法,深度学习常用的缓解过拟合问题的方法还有丢弃法。本文介绍倒置丢弃法及其实现。
树枝990
2020/08/19
1K0
【深度学习基础】线性神经网络 | softmax回归的从零开始实现
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
Francek Chen
2025/01/22
1120
【深度学习基础】线性神经网络 | softmax回归的从零开始实现
【深度学习基础】多层感知机 | 多层感知机的实现
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
Francek Chen
2025/01/22
1570
【深度学习基础】多层感知机 | 多层感知机的实现
【动手学深度学习】多层感知机模型选择、欠拟合和过拟合研究详情
启动jupyter notebook,使用新增的pytorch环境新建ipynb文件,为了检查环境配置是否合理,输入import torch以及torch.cuda.is_available() ,若返回TRUE则说明研究环境配置正确,若返回False但可以正确导入torch则说明pytorch配置成功,但研究运行是在CPU进行的,结果如下:
SarPro
2024/06/06
1990
【动手学深度学习】多层感知机模型选择、欠拟合和过拟合研究详情
深度学习相关基础知识点
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
5560
深度学习相关基础知识点
从零开始学Pytorch(四)softmax及其实现
softmax运算符(softmax operator)解决了以上两个问题。它通过下式将输出值变换成值为正且和为1的概率分布:
墨明棋妙27
2022/09/23
1.3K0
动手学深度学习(二)——正则化(gluon)
版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/79501285
Tyan
2019/05/25
5210
从0到1,实现你的第一个多层神经网络
多层感知机在单层神经网络的基础上引入了一到多个隐藏层(hidden layer)。如图所示的隐藏层一共有5个隐藏单元。由于输入层不涉及计算,因此这个多层感知机的层数为2。如图所示的多层感知机中的隐藏层和输出层都是全连接层。
树枝990
2020/08/19
7880
【深度学习基础】多层感知机 | 模型选择、欠拟合和过拟合
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
Francek Chen
2025/01/22
1240
【深度学习基础】多层感知机 | 模型选择、欠拟合和过拟合
推荐阅读
相关推荐
【动手学深度学习】多层感知机之暂退法问题研究详情
更多 >
LV.1
中南林业科技大学学生
目录
  • 学习了ggplot2|详解八大基本绘图要素后,就可以根据自己的需要绘制图形。前面也给出了一些ggplot2绘制生信分析基本图形的例子pheatmap|暴雨暂歇,“热图”来袭!!!,ggplot2-plotly|让你的火山图“活”过来,ggplot2|扩展包从0开始绘制雷达图,ggplot2| 绘制KEGG气泡图,ggplot2|绘制GO富集柱形图,ggplot2|从0开始绘制PCA图,ggplot2|ggpubr进行“paper”组图合并,本文将介绍一些对legend的细节操作来完成图形的“精雕细琢”。
  • 载入R包和数据
  • 绘制基本图形
  • 设置 legend position
  • 更改legend 的title , font styles
  • 设置 legend 背景色
  • 设置legend items顺序
  • 去除legend
  • guides 设置specific aesthetic
  • 设置多个legend的位置
  • 设置multiple guides顺序
  • 去除particular aesthetic
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档