今天给大家介绍一个超赞的Python可视化绘制工具-Pyvenn,用于绘制2~6个数据集交叉关系的韦恩图(Venn diagram),话不多说,下面直接介绍改库功能:
venn()函数作为Pyvenn种最主要的绘图函数,可绘制2~6个数据集的韦恩图,但是在绘制6个数据集时,将会使用三角形绘制。
venn()函数接受可选参数cmap、fmt、alpha、fontsize、legend_loc、figsize 和 ax。详细如下:
参数 | 作用 |
---|---|
cmap | matplotlib 颜色图的名称或颜色名称列表 |
fmt | Python字符串,可设置{size}、{percentage} 和 {logic}。 |
legend_loc | 图例坐标,默认为“右上角”,可通过 legend_loc=None禁用。 |
figsize | 画布大小,仅在 ax=None 时有效。 |
当为6个数据集时且需要绘制圆形,则可使用该函数进行绘制,参数和venn()函数一样,此外,还可以设置hint_hidden=False隐藏交叉点中元素的信息。
from colormaps import parula
venn_data = pd.read_table(r"data2.txt")
venn_dict = dict(Set1={i for i in venn_data["Set1"].values},
Set2={i for i in venn_data["Set2"].values},
Set3={i for i in venn_data["Set3"].values},
Set4={i for i in venn_data["Set4"].values},
Set5={i for i in venn_data["Set5"].values},)
fig,ax = plt.subplots(figsize=(5,3),dpi=100,facecolor="w")
venn(venn_dict,cmap=parula,ax=ax,legend_loc=2,fontsize=8,alpha=.6)
fig.tight_layout()
Example01 Of pyvenn
venn_data2 = pd.read_table(r"data.txt")
venn_dict2 = dict(Set1={i for i in venn_data2["Set1"].values},
Set2={i for i in venn_data2["Set2"].values},
Set3={i for i in venn_data2["Set3"].values},
Set4={i for i in venn_data2["Set4"].values},
Set5={i for i in venn_data2["Set5"].values},
Set6={i for i in venn_data2["Set6"].values})
fig,ax = plt.subplots(figsize=(5,4.5),dpi=100,facecolor="w")
pseudovenn(venn_dict2,cmap=parula,ax=ax,legend_loc=2,fontsize=8,alpha=.6)
fig.tight_layout()
Example02 Of pyvenn
当然,还可以绘制三角形的韦恩图:
venn(venn_dict2,cmap=parula,ax=ax,legend_loc=2,fontsize=8,alpha=.6)
Example02-1 Of pyvenn
更多关于pyvenn库的案例,小伙伴们可参考:pyvenn库绘图案例[1]
今天介绍一个可绘制多个数据集韦恩图的可视化小技巧,希望可以帮助到大家,当然,喜欢R绘图的小伙伴可以看下本期的其他推文哈
[1]
pyvenn库绘图案例: https://github.com/LankyCyril/pyvenn/blob/master/pyvenn-demo.ipynb。