R语言venn.diagram运行仅返回1未生成韦恩图的问题咨询
R语言venn.diagram运行仅返回[1] 1未生成图片问题
问题描述
- 调用
VennDiagram包的venn.diagram()函数绘制韦恩图,使用的代码和数月前可正常出图的版本完全一致,但本次运行后控制台仅返回[1] 1,未生成目标韦恩图文件。
故障复现代码
venn.diagram( x = list(RPPA_NF2_PTEN_upregulated_synergy, RPPA_PTEN_TP53_upregulated_synergy, RPPA_NF2_TP53_upregulated_synergy), category.names = c("NF2_PTEN_up_syn" , " PTEN_TP53_up_syn " , "NF2_TP53_up_syn"), filename = 'up_syn_venn_diagram.png', output=TRUE, imagetype="png" , height = 480 , width = 480 , resolution = 300, compression = "lzw", fill = myCol, cat.cex = 0.2, cat.fontface = "bold", cat.default.pos = "outer", cat.pos = c(-27, 27, 135), cat.dist = c(0.055, 0.055, 0.085), cat.fontfamily = "sans", rotation = 1 )
控制台返回结果
[1] 1
测试用输入数据集
RPPA_NF2_PTEN_upregulated_synergy <- c("17","21","22","28","32","33","45","53","69","73","101","105","118","124","132","134","141","148","154","163","177","189","214","223","225","234","247","257","265","266","277","287","295","306","309","310","316","330","334","352","361","367","368","370","386","390","393","394","403","405","410","419","420","432","441","447","473","486","489") RPPA_PTEN_TP53_upregulated_synergy <- c("10","13","21","22","28","32","33","45","47","95","101","104","105","112","118","124","132","134","141","148","154","156","158","163","177","179","180","184","188","189","198","203","212","214","215","223","225","226","227","234","236","241","257","266","277","285","286","287","289","295","301","306","309","316","328","330","339","361","367","368","370","394","403","410","414","419","420","432","441","447","456","462","486","489") RPPA_NF2_TP53_upregulated_synergy <- c("22","65","87","124","132","141","154","165","177","225","234","257","266","277","287","295","306","309","310","328","334","367","368","419","420","441","447","473")
排查&修复方案
按优先级逐一验证即可解决:
- 手动加载依赖包
R版本或包更新后常出现依赖未完全加载的静默故障,绘图前先执行以下语句加载包:
再运行绘图代码。library(VennDiagram) library(grid) - 补全未定义的参数对象
代码中fill = myCol对应的myCol颜色向量未提前定义,是该故障最高发的原因:旧版VennDiagram遇到未定义对象会直接抛出报错,部分新版本会静默终止流程,仅返回[1] 1不生成文件。可提前给颜色向量赋值:
也可以临时注释掉# 传入3个对应三个韦恩集合的填充色即可 myCol <- c("#d95f02", "#1b9e77", "#7570b3")fill = myCol这一行,测试是否能正常出图。 - 排查路径写入权限
代码中使用相对路径保存文件,如果当前R工作目录指向系统受保护文件夹(比如C盘根目录、Program Files目录、断连的网络映射盘),会因为无写入权限导致保存失败。可先将filename改为绝对路径测试,比如指向桌面:- Windows:
filename = "C:/Users/你的用户名/Desktop/up_syn_venn_diagram.png" - Mac/Linux:
filename = "~/Desktop/up_syn_venn_diagram.png"
- Windows:
- 修正异常参数值
代码设置的cat.cex = 0.2数值过小,部分版本VennDiagram处理过小的标签字号时会触发绘图异常,可先调整为cat.cex = 0.8测试。
另外category.names第二个分类名前后带有多余空格,虽然不会导致不出图,但会造成标签排版偏移,建议去掉前后空格改为"PTEN_TP53_up_syn"。
内容的提问来源于stack exchange,提问作者Ab03
相关产品推荐
相关产品推荐

