ggalluvial是依赖于ggplot做alluvial plot的一个R包。 官方文档:https://cran.r-project.org/web/packages/ggalluvial/vignettes/ggalluvial.html 下载 install.packages ('ggalluvial') 简单作图 以下用Titanic数据集作为例子。 数据集的内容: library(ggalluvial) data(Titanic) head(as.data.frame(Titanic)) ?
仔细挖掘,可以使用ggalluvial包绘制出满满高级感的图型哦!
#install.packages("ggalluvial") library(ggalluvial) library(ggplot2) library(dplyr) #读入LIHC临床数据 LIHC 桑基图的数据结构需要节点,权重等信息,ggalluvial 的输入数据可以是长数据亦可以是宽数据。 4 更多细节 vignette(topic = "ggalluvial", package = "ggalluvial") 以上就是如何使用R-ggalluvial包绘制桑基图的简单介绍,可以自己动手展示了
/github.com/malballinger/BallingerMack_NYBZase_2022 今天的推文我们重复一下论文中的Figure3C image.png 这里桑基图实现是借助R包 ggalluvial 帮助文档 https://cran.r-project.org/web/packages/ggalluvial/vignettes/ggalluvial.html#:~:text=The%20ggalluvial 或者直接通过命令查看help(package="ggalluvial") 首先是自己构造数据的一个简单例子 library(ggalluvial) as.data.frame(Titanic) dat01 )+ theme_void() image.png 加载需要用到的R包 library(tidyverse) library(readr) library(ggplot2) library(ggalluvial
From PLoS ONE 5(1): e8694 (2010) ggalluvial是一个基于ggplot2的扩展包,专门用于快速绘制冲击图(alluvial diagram),有些人也叫它桑基图( /ggalluvial/vignettes/ggalluvial.html 安装 以下三种方装方式,三选1: 显示帮助文档 使用vignette查看演示教程 接下来我们的演示均基于此官方演示教程,我的主要贡献是翻译与代码注释 R package version 0.5.0. https://CRAN.R-project.org/package=ggalluvial https://en.wikipedia.org/wiki/ Alluvial_diagram ggalluvial包源码:http://corybrunson.github.io/ggalluvial/index.html 官方示例 Alluvial Diagrams in ggplot2 https://cran.r-project.org/web/packages/ggalluvial/vignettes/ggalluvial.html
我们也提供练习数据哦~本期的重点是是关于桑葚图(Sankey Diagram),中文名字叫法不同,我们还是以英文名称为主哈,本期内容主要包括以下几点: 桑葚图(Sankeydiagram)简介 R-ggalluvial R-ggalluvial绘制实例 得益于ggplot2 强大的绘制功能,在R绘图生态系统中也存在一个包专门用于绘制桑基图-ggalluvial,也是ggplot2的拓展包,大家使用起来也十分方便。 (更多详细内容,可以查看ggalluvial官网:http://corybrunson.github.io/ggalluvial/articles/ggalluvial.html) ”宽数据“作图 数据检测 ggalluvial可为两种数据绘制桑基图,其中一种就是宽数据,这里使用官网提供的例子来看一下宽数据绘图过程: library(ggalluvial) library(tidyverse) library 其他工具绘制 在选择使用ggalluvial包进行绘制之前,我也查阅了其他绘图工具,如R-easyalluvial和R-networkD3等包,下面我给出其官网的部分可视化结果供大家参考。
但是今天我们采用ggalluvial工具包来实现,一个ggplot2的拓展包。 1 安装ggalluvial包,操作很简单,直接install,接着加载进来就行 ? 使用to_loads_from 函数将df数据框数据转为ggalluvial所需要的数据格式,本质上就是数据宽数据变为长数据。 5 数据绘图 代码如下: ? 图形如下: ?
绘制冲击图,推荐使用ggalluvial这个R包,从名字也可以看出,这个一个建立在ggplot2语法基础上的扩展包,官方链接如下 http://corybrunson.github.io/ggalluvial /articles/ggalluvial.html 首先通过一个冲击图的示例来了解下图中的基本元素 包括以下几种元素 1. axis, 即x轴代表的元素,在图中表现为每个竖直方向堆叠的柱状图,Gender Admit, 即图例代表的元素,根据这个状态,把柱子间的连线,即代表数据流动的link分成了两类 要绘制这样的一幅图,首先来看下输入数据的格式 > library(ggalluvial) > data_wide
如果你仅仅是需要好看的图,大把的成熟的R包,供你使用,比如 ggalluvial 可以绘制桑基图,代码如下: df=data.frame( cancer,p) head(df) # 两列数据,互相之间有对应关系 ,可以绘制桑基图 library(ggplot2) library(ggalluvial) options(stringsAsFactors = F) gg <- ggplot(df, 这个时候 ggalluvial 可以绘制桑基图,但是它只能是绘制一个框架,这里面的大量的插图都是AI制作和拼接。 现在,桑基图你知道它需要的输入数据了吗?你会画了吗?
在R语言中,可以通过ggalluvial包来创建这种图表。 plantarumLactobacillus paracasei相关基因或代谢物a,b,c,d,e代码rm(list=ls())library(ggplot2)#install.packages("ggalluvial ")library(ggalluvial)library(dplyr)library(tidyr)data <- data.frame( Genus = c( "Lactobacillus",
使用 ggalluvial 绘制 这个方法就非常重要了,大家一定要掌握。 首先我们导入 ggalluvial 包,对 df 变量进行分组计数并把返回的结果保存到 pg 数据框里面: library(ggalluvial) pg <- df %>% count(prov, ggalluvial 包的详细用法可以参考作者给出的参考文档: vignette("ggalluvial") 使用 alluvial 绘制 alluvial 包是基于基础绘图系统封装的,似乎不容易解决文本标签相互重叠的问题
= next_node, fill = factor(node))) + geom_sankey(flow.alpha = 0.6) 另一个用来绘制冲积图的包是 ggalluvial 包: # 安装 # install.packages("ggalluvial") library(ggalluvial) ggplot(as.data.frame(UCBAdmissions),
那么我们首先看下需要安装的包: install.packages("ggalluvial") install.packages("ggplot2") install.packages("dplyr") install.packages("networkD3") install.packages("riverplot") 以上包中ggalluvial,networkD3,riverplot三个均可构建桑基图 ,当然从简单到复杂就是networkD3->ggalluvial->riverplot。 接下来我们看下ggalluvial如何实现桑基图的绘制。在这个包中他不叫桑基图而是叫冲击图(Alluvial Plots),同时也是ggplot2的一个扩展,所以也离不开ggplot2的载入。
2.1 分泌细胞的信号流出通讯模式的鉴定和可视化需要用到R包NMF来计算纳入的模式数量和ggalluvial进行可视化。 library(NMF)library(ggalluvial# 确定流出信号的模式数量selectK(cellchat, pattern = "outgoing")# 根据上图选择图中开始下降之前的数作为下面函数的参数
'patchwork', 'SeuratObject', 'Seurat', 'ggalluvial
较高的分辨率就可以对细胞进行细分比如将CD4T分为Naive和Memory CD4T Ⅱ 桑基图 除了聚类图外,另一种比较常用的细胞聚类可视化的方法是桑基图 #安装加载需要的R包 install.packages("ggalluvial ") library(ggalluvial) library(tidyverse) #基于metadata里面不同的分辨率绘制桑基图 head(sce.all@meta.data) ggplot(data
gplots::balloonplot( table(plotdf$Celltype.major, plotdf$Celltype.minor) ) #桑基图 library(ggalluvial
ggalluvial|炫酷桑基图(Sankey),你也可以秀 ? R|散点图+边际图(柱形图,小提琴图),颜值区UP ? UpSet|多集合可视化,韦恩图?upSet! ?
'HCC07N','HCC08N','HCC09N','HCC10N',"HCC07P","HCC08P","HCC10L"),ordered = TRUE) library(ggalluvial celltype) sce.all=sce[,sce$celltype%in%c("Endo","Hepatocyte","Fibo","tumor")] sce=sce.all #可视化 library(ggalluvial
FindClusters( object = pbmc_small, resolution = c(seq(.4,1.6,.2)) ) 绘制细胞分群的桑基图: #install.packages("ggalluvial ") library(ggalluvial) library(tidyverse) head(pbmc_small@meta.data) ggplot(data = pbmc_small@meta.data