You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用eulerr生成高分辨率、边缘无模糊的韦恩图?

解决eulerr韦恩图边缘像素化/模糊的问题

边缘模糊大多源于输出格式为低分辨率位图,或是未使用矢量格式保存。以下是几个可行的优化方案:

1. 导出为矢量图形格式(推荐)

矢量图(如PDF、SVG)基于数学路径绘制,放大后不会出现像素化问题。你可以通过R的图形设备直接导出:

library(eulerr)

VennDiag <- euler(c("Drug and alcohol services" = 312, "Mental health services" = 380, 
                    "Drug and alcohol services&Mental health services" = 116))

# 导出为PDF
pdf("venn_diagram.pdf", width = 8, height = 6)
plot(VennDiag, quantities = list(type = "counts", fontsize=13.5), 
     labels = list(cex=1.2, alpha=0.7, labels=c("Drug and alcohol\n services", "Mental health\n services")), 
     fills= list(fill=c("#004e72", "#27a2db"), alpha=0.7), main = "", edges=list(lex=1.5, linejoin = "round"))
dev.off()

# 或者导出为SVG
svg("venn_diagram.svg", width = 8, height = 6)
plot(VennDiag, quantities = list(type = "counts", fontsize=13.5), 
     labels = list(cex=1.2, alpha=0.7, labels=c("Drug and alcohol\n services", "Mental health\n services")), 
     fills= list(fill=c("#004e72", "#27a2db"), alpha=0.7), main = "", edges=list(lex=1.5, linejoin = "round"))
dev.off()

添加linejoin = "round"到edges参数中,能让图形边缘的衔接更平滑。

2. 提高位图分辨率(若需PNG/JPG格式)

如果必须使用位图格式,通过设置高dpi参数提升清晰度:

# 导出高分辨率PNG
png("venn_diagram.png", width = 8, height = 6, units = "in", res = 600)
plot(VennDiag, quantities = list(type = "counts", fontsize=13.5), 
     labels = list(cex=1.2, alpha=0.7, labels=c("Drug and alcohol\n services", "Mental health\n services")), 
     fills= list(fill=c("#004e72", "#27a2db"), alpha=0.7), main = "", edges=list(lex=1.5, linejoin = "round"))
dev.off()

这里res = 600代表600dpi,数值越高清晰度越好,对应文件体积也会增大。

3. 调整绘图边缘的平滑参数

在plot函数的edges列表中,添加lineend = "round"和linejoin = "round",可让线条端点与衔接处更平滑,减少锯齿感:

plot(VennDiag, quantities = list(type = "counts", fontsize=13.5), 
     labels = list(cex=1.2, alpha=0.7, labels=c("Drug and alcohol\n services", "Mental health\n services")), 
     fills= list(fill=c("#004e72", "#27a2db"), alpha=0.7), main = "", 
     edges=list(lex=1.5, linejoin = "round", lineend = "round"))

内容的提问来源于stack exchange,提问作者Plima167

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:25:23