R语言精美图形绘制系列 | 云雨图

2024-01-15 05:30

本文主要是介绍R语言精美图形绘制系列 | 云雨图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言

今天也继续分享一下使用R语言绘制云雨图,这个图形的绘制在基于R 语言绘制柱状图教程混合整理教程中也有提及,如果感兴趣可以自己看一下。


二、绘图

导入相关的包

library(ggplot2)
#devtools::install_github("GuangchuangYu/gglayer")
library(gglayer)###'@提供geom_flat_violin()函数
# install.packages("remotes")
# remotes::install_github("kholsteen/geneRal")
library(geneRal)

数据就使用上期的数据即可,如不知道,请看R语言精美图形绘制系列 | 箱线图绘制。

导入数据

y <- read.csv("inputdata.csv",headr = T)#计算每个分组的平均值
y.mean <- aggregate(.~Var1,y,mean) 
m <- y.mean$value
names(m) <- y.mean$Var1
#按平均值给分组排序,便于画图
y$Var1 <- factor(y$Var1, levels=names(sort(m))) 

绘图

  1. 基础图形
ggplot(y, aes(Var1, value, fill = Var1))+geom_flat_violin()+theme(legend.position = "none")


2. 其他类型

ggplot(y, aes(Var1, value, fill = Var1))+geom_flat_violin(position = position_nudge(x = .2, y = 0))+geom_jitter(alpha = 0.1, width = 0.15) +theme(legend.position = "none")


3. 你需的类型

ggplot(y, aes(Var1, value, fill = Var1)) +#scale_fill_brewer(palette="Set2") + #配色guides(fill=FALSE) +geom_flat_violin(position=position_nudge(x=.2)) +#分散不重叠的点图#geom_jitter(aes(color=Var1), width=.15) + guides(color=FALSE) +#堆叠的点图geom_dotplot(binaxis="y", stackdir="down", dotsize=.35) +geom_boxplot(width=.1, position=position_nudge(x=.1)) +geom_hline(aes(yintercept=0.75), linetype="dashed") + #画一条虚线coord_flip() + # x、y坐标轴互换xlab("") + ylab("") + theme(axis.text.x = element_text(family = "Arial", size = 16, face = "bold"),axis.text.y = element_text(family = "Arial", size = 16, face = "bold")) + theme_bw() + theme(panel.border=element_rect(size=1)) #边框粗细 


参考:

  1. https://verytoolz.com/blog/664564561c/
  2. https://zhuanlan.zhihu.com/p/384928683
  3. https://blog.csdn.net/weixin_42655515/article/details/111167105

往期文章:

1. 最全WGCNA教程(替换数据即可出全部结果与图形)

  • WGCNA分析 | 全流程分析代码 | 代码一

  • WGCNA分析 | 全流程分析代码 | 代码二

  • WGCNA分析 | 全流程代码分享 | 代码三


2. 精美图形绘制教程

  • 精美图形绘制教程

3. 转录组分析教程

  • 1.课程介绍
  • 2.第一章 Linux基础
  • 3.第一章 生信软件安装
  • 4.第二章 转录组数据的下载
  • 5.第三章 参考基因组序列和注释文件的下载
  • 6.转录组上游分析教程 | 第四章 数据过滤
  • 7.第四章 Hisat2进行数据比对
  • 8.第四章 Bowtie2进行数据比对
  • 9.第四章 BWA进行数据比对
  • 10.第四章 Tophat2比对
  • 11.第五章 无参考基因组的转录组分析
  • 12.第六章 转录本定量分析

小杜的生信筆記,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

这篇关于R语言精美图形绘制系列 | 云雨图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607795

相关文章

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Go 语言中的 Struct Tag 的用法详解

《Go语言中的StructTag的用法详解》在Go语言中,结构体字段标签(StructTag)是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如JSON、XML)、ORM映... 目录一、结构体标签的基本语法二、json:"token"的具体含义三、常见的标签格式变体四、使用示例五、使用

Go语言使用slices包轻松实现排序功能

《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态:

QT6中绘制UI的两种方法详解与示例代码

《QT6中绘制UI的两种方法详解与示例代码》Qt6提供了两种主要的UI绘制技术:​​QML(QtMeta-ObjectLanguage)​​和​​C++Widgets​​,这两种技术各有优势,适用于不... 目录一、QML 技术详解1.1 QML 简介1.2 QML 的核心概念1.3 QML 示例:简单按钮

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细