当前位置: 首页 > news >正文

流程网站设计阳江本地网络平台

流程网站设计,阳江本地网络平台,精神文明网站建设内容,apache 重启 wordpress在数据可视化中,韦恩图是展示多组数据交集关系的常用工具,尤其在生物信息(如基因差异表达分析)、统计分析等领域高频使用。但传统绘图工具常面临椭圆比例失衡、数值显示混乱、样式调整繁琐等问题,而 R 语言的eulerr包恰…

在数据可视化中,韦恩图是展示多组数据交集关系的常用工具,尤其在生物信息(如基因差异表达分析)、统计分析等领域高频使用。但传统绘图工具常面临椭圆比例失衡、数值显示混乱、样式调整繁琐等问题,而 R 语言的eulerr包恰好能解决这些痛点 —— 它支持按数据比例自动适配图形,同时提供丰富的自定义参数,新手也能快速画出专业级韦恩图。本文将从包加载、数据准备、基础绘图到高级美化,一步步带大家掌握eulerr包的使用方法,所有代码可直接复制运行。

一、前期准备:安装并加载 eulerr 包

首先需确保eulerr包已安装,若未安装,可通过install.packages()函数完成安装,再用library()加载包。代码如下:

# 检查并安装eulerr包(仅首次使用需执行安装)
if (!require(eulerr)) {install.packages("eulerr")  # 从CRAN仓库安装
}
library(eulerr)  # 加载包

二、数据准备:构建韦恩图所需的交集统计数据

eulerr包绘图的核心是 **“分组 - 交集” 统计向量 **,需明确每组数据的独立数量及各组间的交集数量。以生物信息中 “多条件基因差异表达分析” 为例,假设我们有 3 个实验条件,需统计 “仅某条件特有基因数”“某两个条件共有基因数”“三个条件共有基因数”,具体数据构建如下:

# 设置随机种子(保证后续绘图结果可重复)
set.seed(123)# 构建基因集合交集统计向量
# 命名规则:独立组直接用组名,交集组用"组1&组2&..."格式
gene_data <- c("Condition1" = 150,          # 仅Condition1特有的基因数"Condition2" = 200,          # 仅Condition2特有的基因数"Condition3" = 180,          # 仅Condition3特有的基因数"Condition1&Condition2" = 50,# Condition1与Condition2共有的基因数"Condition1&Condition3" = 40,# Condition1与Condition3共有的基因数"Condition2&Condition3" = 60,# Condition2与Condition3共有的基因数"Condition1&Condition2&Condition3" = 20  # 三个条件共有的基因数
)# 可选:查看数据结构,确认无格式错误
print(gene_data)

实际应用提示:

若需基于原始数据(如基因表达矩阵)统计交集,可先通过DESeq2limma包完成差异表达分析,得到每个基因在各条件下的 “是否差异表达” 逻辑向量(如cond1_decond2_decond3_de),再用table()函数统计交集:

# 示例:基于逻辑向量统计交集
intersection_counts <- table(cond1_de, cond2_de, cond3_de)
# 后续需将table结果整理为上述"组名-数值"的向量格式

三、基础绘图:快速生成比例精准的韦恩图

eulerr包绘图分两步:先用euler()函数拟合数据(按数据比例计算图形位置),再用plot()函数可视化。基础款韦恩图代码如下:

# 1. 拟合数据(核心步骤,自动计算图形比例)
basic_fit <- euler(gene_data)# 2. 绘制基础韦恩图
plot(x = basic_fit,          # 传入拟合好的数据对象main = "基础韦恩图(eulerr包)",  # 图标题main.cex = 1.2          # 标题字体大小
)

基础图特点:

  • 椭圆比例完全匹配数据量(如 Condition2 独立基因数最多,对应椭圆面积最大);
  • 自动标注分组名称,无冗余样式,适合快速查看数据关系。

四、样式美化:从实用到专业的 3 种进阶方案

基础图满足 “能用”,但实际报告或论文中需更精准的信息展示(如数值、百分比)和更美观的样式。以下提供 3 种常用美化方案,可根据需求选择。

方案 1:显示数值 + 百分比,增强信息密度

在图中直接标注 “绝对数量” 和 “百分比”,方便读者快速获取具体数据,同时调整颜色和边框提升可读性:

plot(x = basic_fit,main = "韦恩图(含数值与百分比)",  # 图标题main.cex = 1.2,# 核心:设置数值与百分比显示quantities = list(type = c("counts", "percent"),  # 同时显示"数量"和"百分比"fontsize = 10,                  # 数值字体大小fontface = "italic",            # 数值字体样式(斜体)col = "black"                   # 数值字体颜色),# 填充色设置(莫兰迪色系,低饱和度更显专业)fills = list(fill = c("#FF6B6B", "#4ECDC4", "#556270"),  # 三组颜色alpha = 0.7                                 # 透明度(避免颜色刺眼)),# 边框设置edges = list(col = "gray40",  # 边框颜色(浅灰,不抢焦点)lwd = 2          # 边框粗细),# 分组标签设置labels = list(font = 2,        # 字体样式(粗体)cex = 1.2        # 标签字体大小)
)

方案 2:添加图例,适配多组数据场景

当分组名称较长或需更清晰的分组说明时,可添加图例,并调整颜色为柔和的浅色系,适合汇报场景:

plot(x = basic_fit,main = "韦恩图(带图例)",main.cex = 1.2,# 仅显示数值(避免信息过载)quantities = TRUE,  # 简化写法,默认显示countsquantities.fontsize = 10,# 填充色(浅色系,适合汇报PPT)fills = c("lightblue", "lightgreen", "lightcoral"),fills.alpha = 0.8,# 边框设置(深色细边框,突出图形轮廓)edges = list(col = "darkblue",lwd = 1.5,lty = 1  # 边框线型(实线)),# 分组标签(深红色,增强辨识度)labels = list(col = "darkred",font = 4,  # 字体样式(粗斜体)cex = 1.1),# 图例设置(放右侧,不遮挡图形)legend = list(side = "right",  # 图例位置(右側)labels = c("实验条件1", "实验条件2", "实验条件3"),  # 图例标签(中文适配)cex = 0.9,       # 图例字体大小bty = "n"        # 去除图例边框(更简洁))
)

方案 3:深色主题 + 高对比度,适配论文插图

论文插图常需高对比度以保证印刷清晰,深色填充 + 白色文字的组合视觉效果突出,同时调整标题和图例位置提升整体协调性:

plot(x = basic_fit,# 标题精细化设置(深蓝色粗体,突出主题)main = list(label = "韦恩图(深色主题)",cex = 1.5,font = 2,col = "darkblue"),# 数值与百分比(白色文字,与深色背景对比)quantities = list(type = c("percent", "counts"),  # 先显示百分比,再显示数量font = 2,        # 粗体cex = 0.8,       # 字体大小col = "white"    # 文字颜色),# 深色填充(饱和度高,区分度强)fills = list(fill = c("#1B9E77", "#D95F02", "#7570B3"),alpha = 0.8      # 适当透明,避免过于厚重),# 白色边框(强化图形轮廓,与深色填充对比)edges = list(col = "white",lwd = 2.5        # 边框稍粗,提升视觉冲击),# 分组标签(白色粗体,清晰识别)labels = list(col = "white",font = 2,cex = 1.2),# 图例放底部(横向排列,节省空间)legend = list(side = "bottom",labels = c("条件1", "条件2", "条件3"),cex = 0.9,col = "darkblue",  # 图例文字颜色与标题呼应inset = 0.05       # 图例与图形的间距(避免重叠))
)

五、常见问题与解决方案

  1. 椭圆重叠异常:若出现图形重叠混乱,需检查数据是否符合 “无矛盾”(如某交集数量大于独立组数量),可通过basic_fit$residuals查看拟合残差,残差接近 0 说明拟合良好;
  2. 中文显示乱码:若绘图中中文(如标题、图例)显示为方框,需在plot()前设置中文字体,如par(family = "SimHei")(Windows 系统)或par(family = "Arial Unicode MS")(Mac 系统);
  3. 导出图片模糊:建议用png()pdf()函数导出矢量图,避免拉伸模糊,示例:

    r

    # 导出为高清PNG图
    png("eulerr_venn.png", width = 800, height = 600, res = 300)
    plot(basic_fit, ...)  # 此处放入美化后的plot代码
    dev.off()  # 关闭绘图设备
    

总结

eulerr包的核心优势在于 **“比例精准” 和 “自定义灵活”** —— 无需手动调整图形位置,即可实现数据与图形的精准匹配;同时通过quantitiesfillsedges等参数,可轻松适配报告、PPT、论文等不同场景的需求。本文提供的代码均经过验证,可直接复制运行,新手只需替换自身数据即可快速上手。

http://www.dtcms.com/a/505282.html

相关文章:

  • 医院网站html模板噼里啪啦完整版高清免费观看
  • 关于做电影的网站设计rest api 做网站
  • 网站建设公司推网站子目录怎么做的
  • 织梦dedecms网站更换域名后文章图片路径批量修改网站建设攵金手指科杰壹陆
  • 服务器网站过多对排名企业网站建设三个原则
  • 汽车网站建设开题报告山西临汾建设局网站
  • 简单的网站建设模板东莞it外包
  • 百度SEO网站营销策划的六个步骤
  • 如何建自己网站网站收录入口申请查询
  • 网站 收录 做301计算机专业论文网站开发
  • 做网站合同封面给村里做网站
  • 程序员做情侣网站 礼物阿里巴巴司法拍卖网官网
  • 胖哥网站的建设目标交通局网站模板
  • 建设网站的一般过程七牛云最新消息
  • 网站红色模板包就业的培训学校
  • 温岭 网站建设wordpress查看站点
  • 成都网站设计得多少钱dedecms5.7环保科技公司网站模板
  • 一个空间只能放一个网站吗江苏城乡建设厅官方网站
  • 兰州网站开发价格企业工商注册信息查询系统官网
  • 做的比较好的网站推荐深圳 电子商务网站开发
  • 广东网站备案 时间网站负责人核验现场拍摄照片
  • 祖庙网站开发知名网络公司
  • 免费建外贸网站电子商务网站界面设计
  • 上海网站建设目的长安网站建设多少钱
  • 网站备案 信息查询惠东做网站
  • 网站建设教程模板wordpress 注册 邮件
  • 邯郸当地招聘网站官方商城下载
  • 旅游公司网站难做吗网站版面设计方案
  • 网站自适应wordpress在线教育插件
  • 织梦网站打不开dede建设网站