Есть ли способ принудительного перекрытия двух кругов? - PullRequest
0 голосов
/ 07 мая 2019

Я хотел бы нарисовать диаграмму Венна очень близко к тому, что делает пакет R Limma.

В этом случае у меня есть набор, который не перекрывает два других. Пакет R показывает, что с "0", но matplolib-venn рисует другой круг.

редактирование:

Мои 3 комплекта:

  • 9
  • 7 8 9 10
  • 1 2 3 4 5 6

Мой код:

set2 = set([9])
set1 = set([7, 8, 9, 10])
set3 = set([1, 2, 3, 4, 5, 6])

sets = [set1, set2, set3]
lengths = [len(one_set) for one_set in sets]

venn3([set1, set2, set3], ["Group (Total {})".format(length) for (length) in lengths]) 

Спасибо.

R Limma: https://i.ibb.co/h9yhgm1/2019-05-07-Screen-Hunter-06.jpg

matplotlib_venn: https://i.ibb.co/zx6YJbz/2019-05-07-Screen-Hunter-07.jpg

Fred

1 Ответ

1 голос
/ 13 мая 2019

Нет элемента, который является общим для set3 и set1 или set2.Обе диаграммы верны.Если вы хотите показать все пробелы, вы можете попробовать с venn3_unweighted:

from matplotlib_venn import venn3_unweighted

set2 = set([9])
set1 = set([7, 8, 9, 10])
set3 = set([1, 2, 3, 4, 5, 6])

sets = [set1, set2, set3]
lengths = [len(one_set) for one_set in sets]

venn3_unweighted([set1, set2, set3], ["Group (Total {})".format(length) for (length) in lengths])

И результат: enter image description here

...