维恩图用来表示不同组的事物(集合)之间的数学或逻辑联系,特别适合表达集合(或)类之间的“粗略关系”,也常被用来帮助推导(或 了解推导过程)关于集合操作(或类操作)的一些规则。 通常每个集合都用一个圆圈表示。 每个集合都是一组具有共同点的对象或数据。 当多个圆(集合)相互重叠时,称为交集,里面的数据同时具有重叠集合中的所有属性。
——百度百科,数据可视化工具目录
今天我们就用R语言画一个维恩图,看看有多简单!
[软件一]:R(4.1.2版)
[软件2]:RStudio(版本1.4.1106)
1. 第一步是安装和加载包
install.packages("维恩图")
库(维恩图)
2. 看一下绘图功能的介绍
3. 首先我们生成一组数据绘制维恩图
set1 <- paste(rep("word_", 200) , sample(c(1:1000) , 200 , replace= F) , 分隔符="")
set2 <- paste(rep("word_", 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set3 <- paste(rep("word_", 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set4 <- paste(rep("word_", 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set5 <- paste(rep("word_", 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
4. 为了方便大家读取自己的数据,我们可以把数据写入Excel,然后读入,然后我们先把数据做成数据框
Venn_data <- data.frame(set1 ,
设置2,
设置3,
设置4,
set5)
5. 然后加载可读写Excel的包,将数据写入Excel文件
library(openxlsx)
write.xlsx(Venn_data,"Venn_data.xlsx")
6. 使用自己数据的同学可以直接从这一步开始:读取数据
- sheet value用于指定数据在哪个sheet
Venn_data <- read.xlsx("Venn_data.xlsx",
sheet = 1)
7. 使用attach将数据读入R,这样可以直接使用列名
attach(Venn_data)
8. 使用函数画图
- x值是每个集合的列表
- category.names是每个集合的名字 收藏
- filename为图片名
venn.diagram(
x = 列表 (set1, set2, set3, set4, set5),
category.names = c("set1", "set2", "set3","set4","set5"),
filename = 'Venn_diagramm.png',
output=TRUE)
9. 然后我们进一步调整维恩图的参数
venn.diagram(
x = 列表 (set1, set2, set3, set4, set5),
category.names = c("set1", "set2", "set3","set4","set5"),
filename = 'Venn_diagramm.png',
输出=真,
# 输出图片要求,包括图片类型、高宽、分辨率、压缩等。
图像类型=“PNG”,
高度 = 1000,
宽度 = 1000 ,
分辨率 = 300,
压缩=“lzw”,
# 环的调整,边的宽度,是否需要虚线,填充的颜色
纵向宽度 = 2,
lty = '空白',
fill = c("#EE3B3B", "#6495ED", "#8B7355", "#EEC900", "#008B8B"))
10。 有些字体显示不出来,然后进行调整
venn.diagram(
x = 列表 (set1, set2, set3, set4, set5),
category.names = c("set1", "set2", "set3","set4","set5"),
filename = 'Venn_diagramm.png',
输出=真,
# 输出图片要求,包括图片类型、高宽、分辨率、压缩等。
图像类型=“PNG”,
高度 = 1000,
宽度 = 1000 ,
分辨率 = 300,
压缩=“lzw”,
#环的调整,边缘的宽度,是否需要虚线,填充的颜色
纵向宽度 = 2,
lty = '空白',
fill = c("#EE3B3B", "#6495ED", "#8B7355", "#EEC900", "#008B8B"),
# 调整图片上的数字,包括大小、粗体与否、字体
cex = .6,
fontface = "粗体",
fontfamily = "sans",
# 调整每个集合的名称,包括字体大小,是否加粗,外置,以及位置、字体和颜色
cat.cex = 0.7,
猫。 fontface = "粗体",
cat.default.pos = "外部",
cat.pos = c(0,-45,240,135,45),
cat.dist = c(0.2,0.2,0.2,0.2,0.2),
猫。 fontfamily = "sans",
cat.col=c("#EE3B3B", "#6495ED", "#8B7355", "#EEC900", "#008B8B"))
11。 如此详细的教程,快来学习吧!