支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


如何使用DeepSeek绘制多种漂亮的韦恩图?

发布日期:2025-05-11 11:39:09 浏览次数: 1529 作者:SCIPainter
推荐语

利用DeepSeek和Rstudio轻松绘制科研图表,本文带你一探韦恩图的多样式绘制技巧。

核心内容:
1. DeepSeek推荐绘制韦恩图的R包选择
2. 使用ggVennDiagram绘制多种分组样式韦恩图的具体步骤
3. DeepSeek生成的绘图代码和测试数据导入Rstudio的实际操作

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

之前,在DeepSeek绘制8种常见的科研图表》" data-itemshowtype="0" target="_blank" linktype="text" data-linktype="2">《使用DeepSeek绘制8种常见的科研图表》《如何使用DeepSeek绘制添加基因标签的火山图?》《如何使用DeepSeek进行相关性分析和“星号”标记热图绘制》等文章中为大家介绍了如何使用DeepSeek+Rstudio绘制箱形图、柱状图、小提琴图、热图、火山图等多种常见的科研图表,非常受欢迎!


接下来,继续看下如何使用DeepSeek+Rstudio绘制多种样式的韦恩图!



1.绘图R包的查找与选择



首先,我们在绘制韦恩图之前可以提出自己的需求,让DeepSeek推荐适合的R包。选择深度思考(R1)模式后,在DeepSeek中尝试输入指令:

推荐3个绘制韦恩图的R包,要求生成的韦恩图样式多并支持保存成矢量图,优先推荐基于ggplot2的R包


DeepSeek官方链接:

https://www.deepseek.com/


经过20秒的深度思考,给出了3个推荐的R包。注意,我们可以仔细阅读一下DeepSeek的整个思考过程,可确保限定条件的准确,同时也可以让我们发现提示词的优化方向。



DeepSeek给出的推荐结果如下,推荐理由也比较详细。



根据DeepSeek给出的结果发现,ggVennDiagram支持2-7个集合的韦恩图,样式最多;完全基于ggplot2语法体系,可无缝衔接ggplot2的主题系统和图形调整,个性化调整空间最大;同时支持导出PDF/SVG等矢量格式,满足期刊发表需求。因此,最终我们选择ggVennDiagram进行绘图。


2.使用ggVennDiagram绘制韦恩图



接下来,在DeepSeek对话窗口中输入绘图指令,要求生成使用ggVennDiagram绘制多种分组样式的韦恩图的代码,代码中要包含R包安装和测试数据生成部分。


尝试输入绘图指令:

使用‌ggVennDiagram绘制韦恩图,要求给出生成测试数据和依次绘制3分组、4分组、5分组、7分组四种样式韦恩图的代码,代码中要包含所需R包的安装部分,绘图使用分组配色方案为:

"#699ECA","#FF8C00","#F898CB","#4DAF4A","#D65190","#731A73","#0098B2"



当然也可以在DeepSeek上传自己的数据,DeepSeek支持Excel文件、逗号分隔的文本文件(CSV)、制表符分隔的文本文件等。只需将示例数据文件直接复制粘贴到对话框中即可上传文件,当然也可点击“曲别针”上传附件。



经过22秒的深度思考,给出了绘图代码。注意,我们可以仔细阅读一下DeepSeek的整个思考过程和给出的代码,可确保作图数据导入正确,同时也可以让我们发现提示词的优化方向。



点击以上代码块右上角的“复制”按钮,将DeepSeek生成的代码复制粘贴到Rstudio的脚本编辑器中进行尝试运行,如下图。



然后继续运行代码,可以发现所需的R包可以安装成功但最终绘图过程出错,我们可以让DeepSeek继续优化代码。



3.使用DeepSeek调整绘图代码



继续输入优化代码指令:

给出使用‌ggVennDiagram绘制3分组、4分组、5分组、7分组四种样式韦恩图的代码,要求包含所需R包的安装、测试数据的生成和保存、每种样式韦恩图的展示和详细参数说明,绘图使用的分组配色方案为:"#699ECA","#FF8C00","#F898CB", "#4DAF4A","#D65190","#731A73","#0098B2"


仔细阅读思考过程可以发现,DeepSeek对上文提到的两个要求进行了优化,并在之前代码的基础上修改,如下图。



继续点击以上代码块右上角的“复制”按钮,将DeepSeek生成的代码复制粘贴到新的脚本编辑器窗口中进行运行,新代码的运行效果如下图。



注意,给出的代码也很可能会报错,这时只需提供报错信息给DeepSeek,继续优化代码即可!


报错时代码优化指令参考:

生成测试数据部分代码报错,请在上文代码的基础继续优化,报错信息如下:Error in sample.int(length(x), size, replace, prob) :

'replace = FALSE',因此不能取比总体要大的样本


优化后的代码部分:



替换这部分代码后继续在Rstudio中运行代码,绘图效果如下。当然,你也可以在Rstudio中继续调整绘图参数,直到得到你想要的效果,比如,这里调整配色参数进行了修改,因为ggVennDiagram的填充颜色为渐变色。



在此基础上,甚至也可以尝试单一填充颜色的效果:



参考绘图代码与绘图效果:


# 1. 安装和加载包 --------------------------------------------------
if (!require("ggVennDiagram")) install.packages("ggVennDiagram")
if (!require("ggplot2")) install.packages("ggplot2")
library(ggVennDiagram)
library(ggplot2)

# 2. 定义7色配色方案 -----------------------------------------------
custom_colors <- c("#699ECA""#FF8C00""#F898CB""#4DAF4A",
                   "#D65190""#731A73""#0098B2")

# 3. 生成测试数据函数 ----------------------------------------------
# 生成测试数据函数(优化版)---------------------------------------------
generate_test_data <- function(n_sets) {
  set.seed(123)
  data <- lapply(1:n_sets, function(i) {
    # 动态扩展数据范围(确保样本量 <= 总体数量)
    base_range <- 150# 基础范围跨度
    start <- 100*i - (base_range + 20*i) # 动态左边界
    end <- 100*i + (base_range - 20*i) # 动态右边界
    valid_range <- start:end
    
    # 计算最大允许样本量
    max_sample_size <- length(valid_range)
    sample_size <- min(80 + 20*i, max_sample_size) # 安全取样
    
    sample(valid_range, size = sample_size, replace = FALSE)
  })
  names(data) <- LETTERS[1:n_sets]
return(data)
}

#1. 3分组韦恩图
# 生成数据
venn3_data <- generate_test_data(3)

# 绘制图形
venn3_plot <- ggVennDiagram(
  venn3_data,
  set_color = custom_colors[1:3],
  category.names = c("Group A""Group B""Group C"), # 自定义组名
  edge_size = 0.5# 集合圆圈边框粗细
  label = "both"# 同时显示数值和百分比
  label_alpha = 0# 标签背景透明度
  label_size = 4                   # 标签文字大小
) + 
  scale_fill_gradient(low = "#F898CB33",high = "#F898CB99") + # 使用前3色
  theme_void() + # 纯净背景
  theme(plot.title = element_text(hjust = 0.5)) # 标题居中

# 展示图形
print(venn3_plot)

# 保存矢量图
ggsave("venn3.pdf", plot = venn3_plot, 
       width = 8, height = 6, device = cairo_pdf)



#2. 4分组韦恩图

venn4_data <- generate_test_data(4)

venn4_plot <- ggVennDiagram(
  venn4_data,
  set_color = custom_colors[1:4], # 集合圆圈边框颜色
  label_alpha = 0, 
  edge_size = 0.5,
  label = "count"
  label_percent_digit = 1, # 百分比小数位数
  label_txtWidth = 30 # 标签换行宽度(字符数)
) + 
  scale_fill_gradient(low = "#F898CB00",high = "#F898CB99") + # 颜色渐变填充
  theme(legend.position = "none"# 图例位置调整

print(venn4_plot)
ggsave("venn4.svg", plot = venn4_plot, width = 9, height = 7)

#3. 5分组韦恩图

venn5_data <- generate_test_data(5)

venn5_plot <- ggVennDiagram(
  venn5_data,
  set_color = custom_colors[1:5], # 集合圆圈边框颜色
  edge_size = 0.5, 
  label_color = custom_colors[1],
  label = "count"
  label_size = 4,
  label_alpha = 0, 
  set_size = 5 
) + 
  scale_fill_gradient(low = "#F898CB00",high = "#F898CB99") +
  theme(legend.position = "none"# 图例位置调整


print(venn5_plot)
ggsave("venn5.eps", plot = venn5_plot, width = 10, height = 8)



#4. 7分组韦恩图

venn7_data <- generate_test_data(7)

venn7_plot <- ggVennDiagram(
  venn7_data,
  set_color = custom_colors[1:7], # 集合圆圈边框颜色
  edge_size = 0.5
  label_color = custom_colors[1],
  label = "count"
  label_size = 3,
  label_alpha = 0
  order.intersect.by = c("none"),
  order.set.by = c("none"),
  set_size = 5
) + 
  scale_fill_gradient(low = "#F898CB00",high = "#F898CB99") +
  theme(legend.position = "none"# 图例位置调整

print(venn7_plot)
ggsave("venn7.pdf", plot = venn7_plot, width = 12, height = 10)



综上,DeepSeek在辅助R语言绘图上非常方便,特别是在在提高代码编写效率上!但如果你觉得学习写代码太麻烦,我还是推荐直接使用OmicShare tools在线工具进行科研图表的绘制!只需上传数据点击提交按钮即可轻松完成图表的绘制,如果对图形样式不满意,还可以实时在线调整!


OmicShare动态韦恩图工具与示例数据链接:

https://www.omicshare.com/tools/home/report/reportvenn.html


好啦,本次的DeepSeek绘制韦恩图范例教程就分享到这里啦!如果需要范例数据进行练习,可直接下载OmicShare的动态韦恩图工具的示例文件。


基迪奥生物不仅提供转录、翻译、蛋白、代谢、表观、微生物等常规组学服务,还拥有空间组学和单细胞等多种前沿技术,以及行业内最专业的开发团队和长达十几年的成果积累,始终专注于组学测序和生信分析,为不同领域研究人员提供最优的组学研究策略。欢迎有项目意向的老师扫描下方二维码填写信息,基迪奥为您定制个性化项目执行方案。

识别下方二维码咨询:

长按识别二维码咨询

咨询当地销售或拨打客服电话:

020-39341079


READ MORE


延伸阅读



基迪奥生物|专业定制测序服务
联系方式:020-39341079;service@genedenovo.com


*未经许可,不得以任何方式复制或抄袭本篇文章之部分或全部内容。版权所有,侵权必究。



# SCIPainter

基迪奥旗下绘图公众号

分享科研绘图技能与工具

欢迎关注与转发~


你的好友拍了拍你

并请你帮她点一下“分享”~



53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询