如何使用6套绘制维恩图 [英] how to draw Venn Diagram using 6 sets

查看:308
本文介绍了如何使用6套绘制维恩图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含6个元素的数据集.

我想画一个维恩图,但是使用R(Venndiagram库),它限制为5个元素.

您知道如何绘制6组维恩图吗?也许使用python?

我的数据示例:

Ath,Fve,Mdm,Pcmm,Pper,Pmum,Counts
1,0,0,0,0,0,901
0,1,0,0,0,0,14764
0,0,1,0,0,0,19408
0,0,0,1,0,0,17714
0,0,0,0,1,0,16849
0,0,0,0,0,1,17572
1,1,0,0,0,0,823
1,0,1,0,0,0,846
...

解决方案

我不久前写了一个javascript库,可以做到这一点: venn.js .它将在您提供的数据集上生成此输出:

它使用javascript,但是Kent Russell提供了 htmlwidgets接口以从R调用它../p>

产生此代码的代码是:

// define set sizes and their intersection sizes
var sets = [
    {sets: ['Ath'], size: 901},
    {sets: ['Fve'], size: 14764},
    {sets: ['Mdm'], size: 19408},
    {sets: ['Pcmm'], size: 17714},
    {sets: ['Pper'], size: 16948},
    {sets: ['Pmum'], size: 17572},
    {sets: ['Ath', 'Fve'], size: 823},
    {sets: ['Ath', 'Mdm'], size: 846},

    // need to specfiy the rest of the sets don't overlap
    {sets: ['Ath', 'Pcmm'], size: 0},
    {sets: ['Ath', 'Pper'], size: 0},
    {sets: ['Ath', 'Pmum'], size: 0},
    {sets: ['Fve', 'Mdm'], size: 0},
    {sets: ['Fve', 'Pcmm'], size: 0},
    {sets: ['Fve', 'Pper'], size: 0},
    {sets: ['Fve', 'Pmum'], size: 0},
    {sets: ['Mdm', 'Pcmm'], size: 0},
    {sets: ['Mdm', 'Pper'], size: 0},
    {sets: ['Mdm', 'Pmum'], size: 0},
    {sets: ['Pcmm', 'Pper'], size: 0},
    {sets: ['Pcmm', 'Pmum'], size: 0},
    {sets: ['Pper', 'Pmum'], size: 0},
    ];

// draw the chart in the venn div
var chart = venn.VennDiagram();
d3.select("#venn").datum(sets).call(chart);

I have a dataset with 6 elements.

An I would like to draw a venn diagram, but with R (Venndiagram library) it's limited at 5 elements.

Do you know how can draw a 6-sets venn diagram ? Maybe with python?

Example of my data :

Ath,Fve,Mdm,Pcmm,Pper,Pmum,Counts
1,0,0,0,0,0,901
0,1,0,0,0,0,14764
0,0,1,0,0,0,19408
0,0,0,1,0,0,17714
0,0,0,0,1,0,16849
0,0,0,0,0,1,17572
1,1,0,0,0,0,823
1,0,1,0,0,0,846
...

解决方案

I wrote a javascript library a while back that can do this: venn.js . It produces this output on the dataset you gave:

Its in javascript, but Kent Russell has provided a htmlwidgets interface to call it from R.

Code to produce this is:

// define set sizes and their intersection sizes
var sets = [
    {sets: ['Ath'], size: 901},
    {sets: ['Fve'], size: 14764},
    {sets: ['Mdm'], size: 19408},
    {sets: ['Pcmm'], size: 17714},
    {sets: ['Pper'], size: 16948},
    {sets: ['Pmum'], size: 17572},
    {sets: ['Ath', 'Fve'], size: 823},
    {sets: ['Ath', 'Mdm'], size: 846},

    // need to specfiy the rest of the sets don't overlap
    {sets: ['Ath', 'Pcmm'], size: 0},
    {sets: ['Ath', 'Pper'], size: 0},
    {sets: ['Ath', 'Pmum'], size: 0},
    {sets: ['Fve', 'Mdm'], size: 0},
    {sets: ['Fve', 'Pcmm'], size: 0},
    {sets: ['Fve', 'Pper'], size: 0},
    {sets: ['Fve', 'Pmum'], size: 0},
    {sets: ['Mdm', 'Pcmm'], size: 0},
    {sets: ['Mdm', 'Pper'], size: 0},
    {sets: ['Mdm', 'Pmum'], size: 0},
    {sets: ['Pcmm', 'Pper'], size: 0},
    {sets: ['Pcmm', 'Pmum'], size: 0},
    {sets: ['Pper', 'Pmum'], size: 0},
    ];

// draw the chart in the venn div
var chart = venn.VennDiagram();
d3.select("#venn").datum(sets).call(chart);

这篇关于如何使用6套绘制维恩图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆