upset 绘制

好久没有更新,今天来一个upset图的绘制

1.1 安装包

#绘制upset的包现在看来有三个
## UpSet
### 最基本的upsetR包,使用方便,但是扩展不方便
devtools::install_github("hms-dbmi/UpSetR")
## complex-upset 
### UpSet的升级款 支持ggplot2
devtools::install_github('krassowski/complex-upset')
## ggupset
### 同样是UpSet的升级款 支持ggplot2
devtools::install_github("const-ae/ggupset")

示例数据

library(ggplot2)
library(ggupset)
library(ComplexUpset)
test.list <- list(set1 = c("a", "b", "c"),set2 = c("b", "c", "d", "e"),set3 = c("c", "d", "e", "f")
)

UpSetR

#对于list,利用fromlist()整理数据
UpSetR::upset(fromList(test.list), order.by = "degree", #还可以选择"degree")

UpSetR

ComplexUpset

# 要求输入的是矩阵,如果数据是list,用formlist()转化一下就可以
test.df <- fromList(test.list)
ComplexUpset::upset(test.df,intersect = colnames(test.df))
# 与UpSetR不同的是支持ggplot2语法, 例如
ComplexUpset::upset(test.df, intersect = colnames(test.df), wrap= TRUE) + ggtitle("This is a title")

ComplexUpset::upset(test.df,intersect = colnames(test.df))
ggtitle("This is a title")

ggupset

# 同样是支持ggplot2语法, 但是输入会更加复杂一些
# 主要是通过scale_x_upset()来控制upset的输出, 例如
test.df <- fromList(test.list) %>% apply(2, as.logical) %>% t() %>% as.tibble(rownames = "setsnames") %>% pivot_longer(cols = -setsnames, names_to = "Sets", values_to = "stat") %>% filter(stat) %>% select(-stat) %>% group_by(Sets) %>% summarize(Set = list(setsnames))
> test.df
# A tibble: 6 × 2Sets  Set      <chr> <list>   
1 V1    <chr [1]>
2 V2    <chr [2]>
3 V3    <chr [3]>
4 V4    <chr [2]>
5 V5    <chr [2]>
6 V6    <chr [1]>
> str(test.df)
tibble [6 × 2] (S3: tbl_df/tbl/data.frame)$ Sets: chr [1:6] "V1" "V2" "V3" "V4" ...$ Set :List of 6..$ : chr "set1"..$ : chr [1:2] "set1" "set2"..$ : chr [1:3] "set1" "set2" "set3"..$ : chr [1:2] "set2" "set3"..$ : chr [1:2] "set2" "set3"..$ : chr "set3"test.df %>% ggplot(aes(x = Set)) +geom_bar() +scale_x_upset(order_by = "degree",reverse = T, )

在这里插入图片描述

# 然后利用 ggplot2 增加亿点细节
test.df %>% ggplot(aes(x = Set)) +geom_bar() +scale_x_upset(order_by = "degree",reverse = T, )+geom_text(stat='count', aes(label=after_stat(count)), vjust=-1) + scale_y_continuous(name = "Intersection size",expand = c(0, 0), limits = c(0, 6))+theme(text = element_text(family = "ARIAL", colour = "black", size = 9))+xlab('')+theme_combmatrix(combmatrix.label.make_space = TRUE, combmatrix.label.width = NULL, combmatrix.label.height = NULL, combmatrix.label.extra_spacing = 3, combmatrix.label.total_extra_spacing = unit(10, "pt"), combmatrix.label.text = element_text(family = "ARIAL", colour = "Pink", size = 9), combmatrix.panel.margin = unit(c(1.5, 1.5), "pt"), combmatrix.panel.striped_background = TRUE, combmatrix.panel.striped_background.color.one = "white", combmatrix.panel.striped_background.color.two = "#F7F7F7", combmatrix.panel.point.size = 3, combmatrix.panel.line.size = 1.2, combmatrix.panel.point.color.fill = "red", combmatrix.panel.point.color.empty = "#E0E0E0", )+theme(panel.border = element_rect(colour = "black", fill = NA, size = 2))+theme(panel.background = element_blank(),axis.text.y = element_text(size = 9))

在这里插入图片描述

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

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

相关文章

码住!8个小众宝藏的开发者学习类网站

1、simplilearn simplilearn是全球排名第一的在线学习网站&#xff0c;它的课程由世界知名大学、顶级企业和领先的行业机构通过实时在线课程设计和提供&#xff0c;其中包括顶级行业从业者、广受欢迎的培训师和全球领导者。 2、VisuAlgo VisuAlgo是一个免费的在线学习算法和数…

c++环形缓冲区学习

C环形缓冲区设计与实现&#xff1a;从原理到应用的全方位解析 - 知乎 这里插入一个回调函数的学习&#xff1a; C回调函数详解_c 回调函数-CSDN博客 【C】C回调函数基本用法&#xff08;详细讲解&#xff09;_c 回调函数-CSDN博客

微软为 Android 用户推出了人工智能助手 Copilot 应用程序

微软为 Android 用户推出了人工智能助手 Copilot 应用程序 - 与 ChatGPT 类似&#xff0c;它包括聊天机器人功能和 DALL-E 3 图像生成 - 该应用程序包括免费访问 OpenAI 的 GPT-4 模型&#xff0c;这是 ChatGPT 中的付费功能 - 发布微软将 Bing Chat 更名为 Copilot 您是否尝试…

Nature Perspective | LLMs 作为角色扮演引擎

文章目录 一、前言二、主要内容三、总结 &#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 随着对话智能体的表现越来越像人&#xff0c;我们必须开发出有效的方法&#xff0c;在不陷入拟人化陷阱的情况下&#xff0c;用高层次的术语描述它们的…

ARP协议分析实验

实验目的&#xff1a; &#xff08;1&#xff09;理解ARP协议的作用&#xff1b; &#xff08;2&#xff09;理解ARP协议的工作方式。 实验器材&#xff1a; Cisco packet 实验内容&#xff1a; 实验步骤&#xff1a; 布置拓扑&#xff1a; &#xff08;2&#xff09;实验…

【Android】使用android studio查看内置数据库信息

背景 需要用到android db 逻辑存储用户信息等等。 使用 在 App inspection 工具中查看该 app 内的 db 数据 sql执行 在新的查询框内解析查询即可知道当前的数据信息。 官方文档-使用 Database Inspector 调试数据库

3DV 2024 Oral | SlimmeRF:可动态压缩辐射场,实现模型大小和建模精度的灵活权衡

目前大多数NeRF模型要么通过使用大型模型来实现高精度&#xff0c;要么通过牺牲精度来节省内存资源。这使得任何单一模型的适用范围受到局限&#xff0c;因为高精度模型可能无法适应低内存设备&#xff0c;而内存高效模型可能无法满足高质量要求。为此&#xff0c;本文研究者提…

计算机基础

前言 本文围绕计算机的发展以及计算机中信息的表示形式对计算机进行简述。 一.何为计算机&#xff08;Computer&#xff09; 在剑桥词典中&#xff0c;关于computer的词条是如此解释的&#xff1a; 一种电子机器&#xff0c;用于存储、组织和查找单词、数字和图片&#xff0…

Flink1.17实战教程(第三篇:时间和窗口)

系列文章目录 Flink1.17实战教程&#xff08;第一篇&#xff1a;概念、部署、架构&#xff09; Flink1.17实战教程&#xff08;第二篇&#xff1a;DataStream API&#xff09; Flink1.17实战教程&#xff08;第三篇&#xff1a;时间和窗口&#xff09; Flink1.17实战教程&…

关于“Python”的核心知识点整理大全47

目录 16.1.10 错误检查 highs_lows.py highs_lows.py 16.2 制作世界人口地图&#xff1a;JSON 格式 16.2.1 下载世界人口数据 16.2.2 提取相关的数据 population_data.json world_population.py 16.2.3 将字符串转换为数字值 world_population.py 2world_population…

Node.js--》node环境配置及nvm和nvm-desktop安装教程

博主最近换了台新电脑&#xff0c;环境得从零开始配置&#xff0c;所以以下是博主从一台纯净机中配置环境&#xff0c;绝对的小白教程&#xff0c;大家第一次安装完全可以参考我的过程&#xff0c;闲话少说&#xff0c;直接开始&#xff01;&#xff01;&#xff01; 接下来介绍…

【开源】基于JAVA的智能教学资源库系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程档案表3.2.2 课程资源表3.2.3 课程作业表3.2.4 课程评价表 四、系统展示五、核心代…

ES6的一些高级技巧

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…

JAVA版鸿鹄云商B2B2C:解析多商家入驻直播带货商城系统的实现与应用

一、技术选型 java开发语言&#xff1a;java是一种跨平台的编程语言&#xff0c;适用于大型企业级应用开发。使用java开发直播商城可以保证系统的稳定性和可扩展性。 spring boot框架&#xff1a;spring boot是一个快速构建spring应用的框架&#xff0c;简化了开发过程&#xf…

点积相似性(Dot Product Similarity)

点积相似性&#xff08;Dot Product Similarity&#xff09;是一种计算两个向量之间相似性的方法。对于两个向量 a 和 b&#xff0c;它们的点积相似性定义为它们对应元素的乘积之和 其中&#xff0c;和 分别表示向量 和 的第 个元素&#xff0c; 是向量的长度。点积相似性的计…

独立容器 Rancher Server 证书过期解决

问题 Rancher无法登录 容器报错X509&#xff1a;certificate has expired or is not ye valid 在某天需要发布新版本的时候&#xff0c;发现rancher无法登录&#xff0c;于是到服务器上查看rancher日志&#xff0c;发现以下内容&#xff1a; docker logs -f rancher --since10…

性能测试之脚本、工具、结果分析总结

1、脚本模板 2、 场景模板 性能测试工具选择 1. 数据建模工具 DataFactory是一种强大的数据产生器&#xff0c;它允许开发人员和QA很容易产生百万行有意义的正确的测试数据库,该工具支持DB2、Oracle 、 Sybase、SQL Server数据库&#xff0c;支持ODBC连接方式&#xff0c…

matlab列优先与高维矩阵重构

由于matlab在列化a(:)以及reshape(a)等操作中是列优先的&#xff0c;所以要重构出新的高维度矩阵&#xff0c;通常要把reshape和permute结合起来使用。 先到 http://caffe.berkeleyvision.org/ 下载 训练好的model bvlc_reference_caffenet.caffemodel; 更多caffe使用也请参看…

泰迪智能科技“供需对接就业育人项目”介绍

为帮助用人单位培养和招聘更多实用型、复合型和紧缺型人才,推动高校人才培养与就业有机联动、人才供需有效对接促进高校毕业生更加充分更高质量就业&#xff0c;经广东泰迪智能科技股份有限公司申报、全国高校毕业生就业创业指导委员会专家组审核&#xff0c;泰迪智能科技“供需…

适合当代年轻人做的副业分享,可以长期发展

年轻人精力旺盛&#xff0c;学习能力强&#xff0c;有创新&#xff0c;且处于不断上升阶段&#xff0c;所以副业要选择能成长&#xff0c;长期可靠的&#xff0c;既可以赚钱&#xff0c;又可以提升自己&#xff0c;一举两得&#xff01; 而在这其中&#xff0c;有一些副业活动不…