截断堆积柱状图

本教程原文链接:截断堆积柱状图绘制教程

欢迎大家转载!!!!

本期教程

写在前面

堆积柱状图是柱状图的常见类型之一,也是平时使用概率较高的图形之一。我们前期发布了很多个柱状图的绘制教程,若你刚兴趣可以自行查看。堆积柱状图,最近也发布了一个相对详细的教程,基于R语言 | 绘制个性化堆积柱状图。

对于截断图的绘制,也是相对比较简单,因为我们柱状图和堆积柱状图都是基于ggplot2绘制。因此,基本全部的代码都是可以通用。我们次教程,也是基于前期的教程进行修改即可。

截断堆积柱状图绘制

导入所需的R包和数据

library(ggplot2) 
library(cowplot)
library(dplyr)
library(tidyr)
library(ggbreak)
library(ggsignif)
library(ggpubr)
library(EnvStats)
library(stats)

导入数据

请结合自己的数据进行导入!!!

我们这里需要长数据,需要将宽数据转换成长数据

data_df <- gather(data, key = "Group", value = "Value", -Category)
data_df

绘制基础图形

# 绘制柱状堆积图
ggplot(data_df, aes(Category, y = Value , fill = Group))+#geom_bar(stat = "identity", position = "fill")+geom_bar(stat = "identity", position = "stack")+scale_y_continuous(expand = c(0, 0), labels = scales::number_format(accuracy = 1)  ## 设置Y轴保留一位小数点)+scale_x_discrete(expand = c(0,0.5))

我们可以自行先设置主题,以便于后期的图形绘制。

mytheme01 <- theme_classic()+theme(axis.line = element_line(size = 1),  ## 粗细text=element_text(family = "sans",colour ="black",size = 12),axis.text.x = element_text(color = "black", size = 12),axis.text.y = element_text(color = "black",size = 12),axis.ticks = element_line(size = 0.6,colour = "black"),axis.ticks.length = unit(1.5,units = "mm"),#legend.position = "none",strip.background = element_blank())
mytheme02 <- theme_classic() +theme(text = element_text(family = "sans", colour = "gray30", size = 12),axis.line = element_line(size = 0.6, colour = "gray30"),axis.ticks = element_line(size = 0.6, colour = "gray30"),axis.ticks.length = unit(1.5, units = "mm"),plot.margin = unit(c(1, 1, 1, 1), units = "inches"))

图形修改和截断设置

ggplot(data_df, aes(Category, y = Value , fill = Group))+#geom_bar(stat = "identity", position = "fill")+geom_bar(stat = "identity", position = "stack")+scale_y_continuous(expand = c(0, 0), labels = scales::number_format(accuracy = 1)  ## 设置Y轴保留一位小数点)+scale_x_discrete(expand = c(0,0.5))+scale_y_break(c(33,70),scales = "free", #'fixed', 'free')+## 设置颜色scale_fill_manual(values = c("#386cb0", "#fdc086", "#1b9e77","#a6cee3","#bebada","#e5c494"))+labs(x = "Season", y = "Percentage", fill = NULL) +theme_classic()

堆积柱状图柱子参数修改

p1 <- ggplot(data_df, aes(Category, y = Value , fill = Group))+#geom_bar(stat = "identity", position = "fill")+geom_bar(stat = "identity", position = "stack",color = "black", ## 柱边颜色width = 0.5,    ## 柱子宽度size = 1.0     ## 粗细 )+scale_y_continuous(expand = c(0, 0), labels = scales::number_format(accuracy = 1)  ## 设置Y轴保留一位小数点)+scale_x_discrete(expand = c(0,0.5))+scale_y_break(c(33,70),scales = "free", #'fixed', 'free'expand = c(0, 0),## 修改坐标轴ticklabels = c(70,90,110,120),space = 0.25)+## 设置颜色scale_fill_manual(values = c("#386cb0", "#fdc086", "#1b9e77","#a6cee3","#bebada","#e5c494"))+labs(x = NULL, y = "Number of DEGs", fill = NULL) +theme_classic()

设置主题参数

p1 +## 设置颜色scale_fill_manual(values = c("#386cb0", "#fdc086", "#1b9e77","#a6cee3","#bebada","#e5c494"))+labs(x = NULL, y = "Number of DEGs", fill = NULL) +# 设置主题theme_classic()+theme(axis.line = element_line(size = 1),  ## 粗细text=element_text(family = "sans",colour ="black",size = 12),axis.text.x = element_text(color = "black", size = 12),axis.text.y = element_text(color = "black",size = 12),axis.ticks = element_line(size = 1,colour = "black"),axis.ticks.length = unit(1.5,units = "mm"),legend.position = "none",strip.background = element_blank())

添加不同的截断位置

ggplot(data_df, aes(Category, y = Value , fill = Group))+#geom_bar(stat = "identity", position = "fill")+geom_bar(stat = "identity", position = "stack",color = "black", ## 柱边颜色width = 0.5,    ## 柱子宽度size = 1.0     ## 粗细 )+scale_y_continuous(expand = c(0, 0), labels = scales::number_format(accuracy = 1)  ## 设置Y轴保留一位小数点)+scale_x_discrete(expand = c(0,0.5))+##'@第一个截断位置scale_y_break(c(5,20),scales = "free",ticklabels = c(20,25,30))+##'@第二个截断位置scale_y_break(c(30,70),scales = "free", #'fixed', 'free'# ## 修改坐标轴ticklabels = c(70,90,110,120),space = 0.25,expand = c(0, 0))+##'@第三个截断位置# scale_y_break(c(90,105),#               scales = "free",#               expand = c(0, 0))+## 设置颜色scale_fill_manual(values = c("#386cb0", "#fdc086", "#1b9e77","#a6cee3","#bebada","#e5c494"))+labs(x = NULL, y = "Number of DEGs", fill = NULL) +# 设置主题theme_classic()+theme(axis.line = element_line(size = 1),  ## 粗细text=element_text(family = "sans",colour ="black",size = 12),axis.text.x = element_text(color = "black", size = 12),axis.text.y = element_text(color = "black",size = 12),axis.ticks = element_line(size = 1,colour = "black"),axis.ticks.length = unit(1.5,units = "mm"),legend.position = "none",strip.background = element_blank())

百分比堆积柱状图进行截断设置

ggplot(data_df, aes(Category, y = Value , fill = Group))+geom_bar(stat = "identity", position = "fill")+scale_y_continuous(expand = c(0, 0), labels = scales::number_format(accuracy = 0.1)  ## 设置Y轴保留一位小数点)+scale_x_discrete(expand = c(0,0.5))+##'@第一个截断位置scale_y_break(c(0.3,0.5),scales = "free",ticklabels = c(0.5,0.8,1.0),expand = c(0,0))+scale_fill_manual(values = c("#386cb0", "#fdc086", "#1b9e77","#a6cee3","#bebada","#e5c494"))+labs(x = NULL, y = "Number of DEGs", fill = NULL) +# 设置主题theme_classic()+theme(axis.line = element_line(size = 1),  ## 粗细text=element_text(family = "sans",colour ="black",size = 12),axis.text.x = element_text(color = "black", size = 12),axis.text.y = element_text(color = "black",size = 12),axis.ticks = element_line(size = 1,colour = "black"),axis.ticks.length = unit(1.5,units = "mm"),legend.position = "none",strip.background = element_blank())

本教程原文链接:截断堆积柱状图绘制教程

欢迎大家转载!!!!

小杜的生信笔记,自2021年11月开始做的知识分享,主要内容是R语言绘图教程转录组上游分析转录组下游分析等内容。凡事在社群同学,可免费获得自2021年11月份至今全部教程,教程配备事例数据和相关代码,我们会持续更新中。

往期教程部分内容











往期部分文章

1. 复现SCI文章系列专栏

2. 《生信知识库订阅须知》,同步更新,易于搜索与管理。

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

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

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

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

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

  • WGCNA分析 | 全流程分析代码 | 代码五(最新版本)


4. 精美图形绘制教程

  • 精美图形绘制教程

5. 转录组分析教程

  • 转录组上游分析教程[零基础]

  • 一个转录组上游分析流程 | Hisat2-Stringtie

6. 转录组下游分析

  • 批量做差异分析及图形绘制 | 基于DESeq2差异分析

  • GO和KEGG富集分析

  • 单基因GSEA富集分析

  • 全基因集GSEA富集分析

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【工厂模式】简单工厂模式-简单例子

目录 一、简单介绍 二、未使用工厂模式之前 三、简单工厂模式 初始 优化 总结 一、简单介绍 工厂模式是一种软件设计模式&#xff0c;用于创建对象的方法。在工厂模式中&#xff0c;创建对象的逻辑被封装在一个单独的类中&#xff0c;该类负责根据特定条件或参数创建合适…

windows下使用命令uvicorn启动fastapi程序有乱码,方框形状奇怪字符

问题简述 执行命令uvicorn main:app --reload后出现的问题如图所示 这个问题非常容易解决&#xff01; 原因是windows控制台 默认未开启 ANSI颜色的支持 那么我们只需要开启就可以了 轻松解决 1 按下winR 打开运行 2 输入regedit 点击确定编辑注册表 3 新建值 值的名称为…

vue3组件封装系列-表单请求

我们在开发一些后台管理系统时&#xff0c;总是会写很多的列表查询页面&#xff0c;如果不封装组件&#xff0c;就会无限的复制粘贴&#xff0c;而且页面很冗余&#xff0c;正常情况下&#xff0c;我们都是要把组件进行二次封装&#xff0c;来达到我们想要效果。这里我分享一下…

《中学科技》是什么级别的刊物?如何投稿?

《中学科技》是什么级别的刊物&#xff1f;如何投稿&#xff1f; 《中学科技》创刊于1976年&#xff0c;由上海世纪出版&#xff08;集团&#xff09;有限公司主管&#xff0c;上海科技教育出版社有限公司主办的省级学术期刊&#xff0c;《中学科技》以传播科技知识、启迪智慧…

Centos安装软件失败There are no enabled repos.

这个错出现的原因可能是&#xff1a;没有先安装wget源&#xff0c;就把源给备份了 解决方案&#xff1a; 下载对应版本repo文件, 放入/etc/yum.repos.d/里&#xff0c;下载地址&#xff1a;CentOS镜像使用帮助 查看自己CentOS的版本&#xff0c;下载对应的repo文件&#xff…

spring boot中的标注@Component、@Service等

让我告诉你什么叫水货。 一、水货横行 一直以来&#xff0c;我对Spring Boot项目中的标注&#xff0c;像Component啦、Service啦、Configuration啦&#xff0c;甚至Autowired啦&#xff0c;等等&#xff0c;都似懂非懂。Autowired与Resource有什么区别也不清楚。 个中原因&a…

LearnOpenGL(三)之GLSL

一、GLSL 着色器是使用一种叫GLSL的类C语言写成的。 着色器的开头总是要声明版本&#xff0c;接着是输入和输出变量、uniform 和main函数。每个着色器的入口点都是main函数&#xff0c;在这个函数中 我们处理所有的输入变量&#xff0c;并将结果输出到输出变量中。 二、数据…

2-Embedding例子:简单NN网络、迁移学习例子(glove语料预训练)

一、简单例子&#xff1a;构造简单NN网络生成Embedding 1、pytorch例子 2、tensorflow例子 # 1导入模块 import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Embedding import numpy as np# 2构建语料库 corpus[[…

Linux命令接着学习

which命令&#xff0c;找到各种命令程序所处在的位置 语法&#xff1a;which查找的命令 那么对于我们想查找其他类型文件所在的位置&#xff0c;我们可以用到find命令 find命令 选项为-name&#xff0c;表示按照文件名进行查找 find命令中通配符 find命令和前面rm命令一样&…

MT3023 歌词中找单词

1.暴力 10/12 #include <bits/stdc.h> using namespace std; int n; string a[10005]; int main() {cin >> n;for (int i 0; i < n; i)cin >> a[i];string ll;cin >> ll;for (int i 0; i < n; i){string u a[i];int num 0;int j 0;for (in…

解线性方程组——追赶法解三对角方程组 | 北太天元

一、问题描述 对于线性方程组 A x b , A ( b 1 c 1 a 2 b 2 c 2 ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ a n − 1 b n − 1 c n − 1 a n b n ) , b ( f 1 f 2 ⋮ f n ) Axb,\quad A\begin{pmatrix}b_1&c_1&&&&\\a_2&b_2&c_2&&&\\&\ddots&\d…

CentOS 7安装、卸载MySQL数据库(一)

说明&#xff1a;本文介绍如何在CentOS 7操作系统下使用yum方式安装MySQL数据库&#xff0c;及卸载&#xff1b; 安装 Step1&#xff1a;卸载mariadb 敲下面的命令&#xff0c;查看系统mariadb软件包 rpm -qa|grep mariadb跳出mariadb软件包信息后&#xff0c;敲下面的命令…

mysql基础14——视图

视图 视图是一种虚拟表 可以把一段查询语句作为视图存储在数据库中 需要的时候把视图看作一个表&#xff0c;对里面的数据进行查询 视图并没有真正存储数据 避免了数据存储过程中可能产生的冗余 提高了存储的效率 子查询 嵌套在另一个查询中的查询 派生表 如果在查询中…

六、项目发布 -- 4. 电子书详情页API开发、电子书列表API开发

电子书详情页API的编写 同理如下app.get中路由、回调&#xff1b;回调中要连接数据库、接收前端传过来的值、到数据库中做查询&#xff0c;然后回调&#xff08;如果回调失败返回什么JSON&#xff0c;如果回调成功返回什么JSON&#xff09;&#xff1b;最后千万别忘记了关闭数…

怎样快速打造二级分销小程序

乔拓云是一个专门开发小程序模板的平台&#xff0c;致力于帮助商家快速上线自己的小程序。通过套用乔拓云提供的精美模板&#xff0c;商家无需具备专业的技术背景&#xff0c;也能轻松打造出功能齐全、美观大方的小程序。 在乔拓云的官网&#xff0c;商家可以免费注册账号并登录…

全科都收!1区毕业水刊,影响因子狂涨至9.8,无预警记录!国人评价高!

本期&#xff0c;小编给大家解析的是一本创刊于2014年&#xff0c;且于同年被WOS数据库收录的毕业“水刊”——SCIENTIFIC DATA。 截图来源&#xff1a;期刊官网 SCIENTIFIC DATA&#xff08;ISSN&#xff1a;2052-4463&#xff09;是一本致力于数据的开放获取期刊&#xff0c…

可视化大屏在政务领域应用非常普遍,带你看看

可视化大屏在政务领域的应用非常普遍&#xff0c;政务领域需要处理大量的数据和信息&#xff0c;通过可视化大屏可以将这些数据以直观、易懂的方式展示出来&#xff0c;帮助政府决策者和工作人员更好地了解和分析数据&#xff0c;从而做出更准确、科学的决策。 在政务领域&…

xhEditor实现WORD粘贴图片自动上传

1.下载示例&#xff1a; 从官网下载 http://www.ncmem.com/webapp/wordpaster/versions.aspx 从gitee中下载 https://gitee.com/xproer/wordpaster-php-xheditor1x 2.将插件目录复制到项目中 3.引入插件文件 定义插件图标 初始化插件&#xff0c;在工具栏中添加插件按钮 效果…

B端界面:除了蓝色外,四条搞定清新明快的界面设计。

一、什么是清新明快风格 清新明快的设计风格是指在B端系统中使用明亮、清淡的色彩、简洁的布局和自然元素&#xff0c;以及轻快的动效&#xff0c;营造出轻松、愉悦的界面氛围。 二、哪些行业适用 这种设计风格适用于多个行业&#xff0c;特别是那些与创意、娱乐、健康、旅游…

安卓原生项目工程结构说明

.gradle 和 .idea (自动生成) .gradle 是gradle下载好的缓存&#xff0c;如果有配置好的 下载好的缓存 直接会拿来用 没有会下载 生成 .idea 是编辑器的配置 app 代码主逻辑 目录 项目中的代码 资源都会在里面 工作的时候的核心目录 gradle 下载安卓的构建器gradle相关的配置信…