如何使用6套绘制维恩图 [英] how to draw Venn Diagram using 6 sets
本文介绍了如何使用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屋!
查看全文