VennDiagram多元韦恩图---以3元和5元为例

三元

library(VennDiagram)
> head(c1_tf_p)
                TF
1 Gorai.002G124900
2 Gorai.005G188700
3 Gorai.001G183400
4 Gorai.010G028200
5 Gorai.004G181900
6 Gorai.011G067500
> head(c3_tf_p)
                TF
1 Gorai.002G124900
2 Gorai.006G008800
3 Gorai.002G171200
4 Gorai.002G177000
5 Gorai.007G309400
6 Gorai.005G211900
> head(c6_tf_p)
                TF
1 Gorai.002G124900
2 Gorai.001G183400
3 Gorai.005G188700
4 Gorai.002G171200
5 Gorai.002G177000
6 Gorai.010G028200
#绘制三元图
venn_ploy <- venn.diagram(x=list(c1_tf_p$TF,c3_tf_p$TF,c6_tf_p$TF),
             scaled = F, # 根据比例显示大小
             #alpha= 0.5, #透明度
             lwd=1,lty=1,col=c("#FEADB2", "#9DC5E7", "#F5B184"), #圆圈线条粗细、形状、颜色;1 实线, 2 虚线, blank无线条
             label.col ='black' , # 数字颜色abel.col=c('#FFFFCC','#CCFFFF',......)根据不同颜色显示数值颜色
             #cex = 2, # 数字大小
             fontface = "bold",  # 字体粗细;加粗bold
             fill=c("#FEADB2", "#9DC5E7", "#F5B184"), # 填充色 配色
             category.names = c("TM-1 cold 1h", "TM-1 cold 3h","TM-1 cold 6h") , #标签名
             cat.dist = 0.05, # 标签距离圆圈的远近
             #cat.pos = c(-120, -240, -180), # 标签相对于圆圈的角度cat.pos = c(-10, 10, 135)
             cat.cex = 1, #标签字体大小
             cat.fontface = "bold",  # 标签字体加粗
             cat.col='black' ,   #cat.col=c('#FFFFCC','#CCFFFF',.....)根据相应颜色改变标签颜色
             cat.default.pos = "outer",  # 标签位置, outer内;text 外
             output=TRUE,
             #filename = NULL,# 不保存文件直接可视化
             force.unique = T,
             print.mode = c("percent", "raw"),#显示百分比
             main = "TF enrichment of TM-1 at cold",#标题
             main.cex = 1.5,#标题大小
             filename='TM-1 cold tf enrichment.png',# 文件保存命名
             imagetype="png",  # 类型(tiff png svg)
             resolution = 400,  # 分辨率
             compression = "lzw"# 压缩算法
             )
grid.draw(venn_ploy)

在这里插入图片描述

五元

library(VennDiagram)
library(RColorBrewer)
#将数据存储为列表
x <- list(salt_1h=c1_tf_p$TF,salt_3h=c2_tf_p$TF,
          salt_6h=c3_tf_p$TF,salt_12h=c4_tf_p$TF,
          salt_24h=c5_tf_p$TF)

venn.diagram(x,  # 这里的x是用来生成Venn图的数据
             fill = brewer.pal(5, "Set3"),  # 设置填充颜色,使用brewer.pal生成颜色调色板,"Set3"表示使用Set3颜色方案的前5种颜色
             cex = c(1.5, 1.5, 1.5, 1.5, 1.5, 1, 0.8, 1, 0.8, 1, 0.8, 1, 0.8,
                     1, 0.8, 1, 0.55, 1, 0.55, 1, 0.55, 1, 0.55, 1, 0.55, 1, 1, 1, 1, 1, 1.5),  # 设置Venn图中各个部分的大小,使用c()函数指定每个部分的大小
             main = "TM-1",  # 设置Venn图的标题为"TM-1"
             print.mode = c("percent", "raw"),  # 设置打印Venn图时显示的信息:百分比和原始值
             lty = "blank",  # 设置边缘线的类型为"blank",即隐藏边缘线
             force.unique = T,  # 强制确保图中的元素是唯一的,避免重叠
             scaled = F,  # 不对Venn图进行缩放
             main.cex = 1.5,  # 设置标题的大小为1.5
             main.fontface = "bold",  # 设置标题的字体加粗
             filename = "TM-1 salt.png",  # 设置保存图像的文件名为"TM-1 salt.png"
             imagetype = "png", 
             resolution = 400,  
             compression = "lzw")  # 设置图像的分辨率为400dpi,使用LZW压缩算法进行压缩保存

在这里插入图片描述

ECharts 是一个由百度开源的基于 JavaScript 的数据可视化库,广泛应用于前端数据分析和展示领域。它支持多种图表类型,如柱状图、折线图、饼图等,并且提供了强大的配置选项来定制图表样式和功能。 韦恩图Venn Diagram),又称为维恩图或者韦恩-埃勃森图,是一种用来描述两个或更多集合之间交集关系的图形表示法。这种图通常用于展示数据分类、比较属性或识别共性和差异。韦恩图通过圆形或其他形状的区域表示各个集合,重叠部分则表示集合之间的共同素。 将 ECharts 应用于生成韦恩图的过程相对复杂,因为它并不直接提供此类型的图表生成工具。不过,你可以借助外部插件或者自定义代码来创建韦恩图效果。例如,可以利用 ECharts 的基础功能结合 SVG 或者其他图形渲染技术来绘制和动态更新韦恩图。 在使用 ECharts 创建自定义韦恩图时,一般需要关注以下几个步骤: 1. **准备数据**:首先,你需要收集并整理出代表不同集合及其交集的数据,这可能涉及从数据库查询、文件读取或者其他数据源获取信息。 2. **设计布局**:考虑如何布局各个集合以及它们的交集区域。通常,韦恩图有 2、3 或更多的集合,因此需要精心安排每个集合的位置和大小以保持清晰度和视觉美感。 3. **绘图**:利用 SVG 或其他图形库,在 ECharts 图表中嵌入自定义的 SVG 素。对于更复杂的自定义图表,可能还需要编写额外的 JavaScript 代码来处理动态变化和用户交互。 4. **动态更新**:如果数据会随着时间或用户输入而发生变化,那么你需要实现机制来实时更新图表。这可能涉及到事件监听、定时器或者 AJAX 请求来获取最新数据。 5. **样式调整**:最后,对图表进行美化,包括颜色、字体、动画效果等,使其既美观又易于理解。 尽管使用 ECharts 创造传统意义上的“韦恩图”较为困难,但它确实为开发者提供了一个强大的平台来定制各种复杂且个性化的数据可视化解决方案。在实际应用中,可以根据具体情况选择合适的技术栈来完成任务,同时充分利用 ECharts 的强大绘图能力和丰富的组件库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值