专栏首页生信补给站UpSet|多集合可视化,韦恩图?upSet!

UpSet|多集合可视化,韦恩图?upSet!

介绍一个R包UpSetR,专门用来集合可视化,当多集合的韦恩图不容易看的时候,就是它大展身手的时候了。

一 载入R包 数据

#安装及加载R包
#install.packages("UpSetR")
library(UpSetR) 
#载入数据集
data <- read.csv("upSet.csv",header=TRUE)
#先大致浏览一下该数据集,数据集太长,就只看前几列
head(data,6)

二 upSet集合可视化

使用UpsetR包里面的upset()函数绘制集合可视化图形。

1. 基本参数

upset(data, 
      sets = c("Action", "Adventure", "Comedy", "Drama", "Fantasy" , "Children","Crime"),#查看特定的几个集合 
      mb.ratio = c(0.55, 0.45),#控制上方条形图以及下方点图的比例 
      order.by = "freq", #如何排序,这里freq表示从大到小排序展示 
      keep.order = TRUE, #keep.order按照sets参数的顺序排序 
      number.angles = 30, #调整柱形图上数字角度 
      point.size = 2, line.size = 1, #点和线的大小 
      mainbar.y.label = "Genre Intersections", sets.x.label = "Movies Per Genre", #坐标轴名称 
      text.scale = c(1.3, 1.3, 1, 1, 1.5, 1)) #六个数字,分别控制c(intersection size title, intersection size tick labels, set size title, set size tick labels, set names, numbers above bars)

2)queries参数

queries参数分为四个部分:query, param, color, active;

query: 指定哪个query,UpSetR有内置,也可以自定义;

param: list, query作用于哪个交集

color:每个query都是一个list,里面可以设置颜色,没设置的话将调用包里默认的调色板;

active:被指定的条形图:TRUE显示颜色,FALSE在条形图顶端显示三角形;

upset(data, main.bar.color = "black", 
      queries = list(list(query = intersects,   #UpSetR 内置的intersects query
                          params = list("Drama"), ##指定作用的交集
                          color = "red", ##设置颜色,未设置会调用默认调色板
                          active = F,   # TRUE:条形图被颜色覆盖,FALSE:条形图顶端显示三角形
                          query.name = "Drama"), # 添加query图例
                     list(query = intersects,  params = list("Action", "Drama"), 
                          active =T,
                          query.name = "Emotional action"), 
                     list(query = intersects,  params = list("Drama", "Comedy","Action"),
                          color = "orange", active = T)),
      query.legend = "top")

可以看到 list("Drama") ,list("Action", "Drama") 和 list("Drama", "Comedy", "Action") 均根据 color 设置 显示了不同的颜色。

3)attribute.plots参数

添加属性图,内置有柱形图、散点图、热图等

3.1 添加柱形图和散点图

upset(data, main.bar.color = "black", 
      queries = list(list(query = intersects, params = list("Drama"), color = "red", 
                          active = F,  query.name = "Drama"),
                     list(query = intersects,  params = list("Action", "Drama"), 
                          active =T,query.name = "Emotional action"), 
                     list(query = intersects,  params = list("Drama", "Comedy","Action"), 
                          color = "orange", active = T)),  
      attribute.plots = list(gridrows = 45, #添加属性图
                             plots = list(
                                 list(plot = scatter_plot, #散点图 
                                      x = "ReleaseDate", y = "AvgRating", #横纵轴的变
                                      queries = T), #T 则显示出上面queries定义的颜色
                                 list(plot = histogram, x = "ReleaseDate", queries = F)), 
                             ncols = 2), # 添加的图分两列
      query.legend = "top") #query图例在最上方

3.2 添加箱线图

每次最多添加两个箱线图

upset(data, boxplot.summary = c("AvgRating", "ReleaseDate"))

三、参考资料

Index of /web/packages/UpSetR/vignettes

◆ ◆ ◆ ◆ ◆

精心整理(含图版)|你要的全拿走!有备无患 (R统计,ggplot2绘图,生信图形可视化汇总)

本文分享自微信公众号 - 生信补给站(Bioinfo_R_Python),作者:生信补给站

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-03-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 精心整理(含图PLUS版)|R语言生信分析,可视化

    为了能更方便的查看,检索,对文章进行了精心的整理(PLUS)。建议收藏,各取所需,当前没用也许以后就用到了呢!

    西游东行
  • 零代码韦恩图,韦恩饼图,upset图,导出交集

    对于很多没有编程基础的科研工作者来说,写代码还是一件比较头疼的事情。那么今天小编就来安利一款零代码画韦恩图,维恩饼图,upset图并导出所有交集的网络工...

    生信交流平台
  • 手把手教你学习可视化武器--upsetR

    当我们的数据分组越来越多的时候,韦恩图解读效果不再那么一目了然了,这时候我们需要利用upsetR包,对数据进行重新操盘。

    百味科研芝士
  • R|UpSet-集合可视化

    介绍一个R包UpSetR,专门用来集合可视化,当多集合的韦恩图不容易看的时候,就是它大展身手的时候了。

    西游东行
  • 画韦恩图那么容易,为什么拿到指定元素却有问题

    这个时候,如果你的合作者并不擅长代码,可以直接打开这个csv文件,根据sum列进行筛选即可。

    生信技能树
  • 纯生信文章补几张免疫组化真的很重要!

    今天和大家分享的是2020年发表在Journal of cancer(IF:3.565)上的一篇文章,“Genome-wide Analysis of the ...

    科研菌
  • 关于elaticsearch中更新数据的几种方式

    我是攻城师
  • 学界 | 综述论文:对抗攻击的12种攻击方法和15种防御方法

    机器之心
  • Phoenix快速入门系列(2) | 一文教你如何使用Phoenix

      默认情况下, 直接在 HBase 中创建的表通过 Phoenix 是查不到的.

    不温卜火

扫码关注云+社区

领取腾讯云代金券