Диаграмма Python Matplotlib Venn

Я хочу построить переменные, которые принадлежат определенным группам.

скажем, что у меня есть 6 переменных, которые я хочу отсортировать в эти 3 группы и построить как диаграмму Венна. Я хотел бы аннотировать имена переменных в три пузырька.
В этом простом примере мы могли бы сказать, что 1 переменная находится в группе 1, 3 переменные в группе 2 и 2 переменные в группе 3.

может ли кто-нибудь помочь мне с простым примером того, как это сделать в matplotlib?

1 ответов


существует красивая диаграмма Венна надстройка для matplotlib под названием matplotlib-venn. Похоже, что его можно полностью настроить, чтобы сделать то, что вы ищете, от размера кругов (пропорционального размеру набора) до внутренних и внешних меток.

использование кода примера на веб-сайте дает такой сюжет, как:

enter image description here

Edit: в комментариях ниже следующий код дает непересекающиеся круги с текстом используя ту же библиотеку:

import pylab as plt
from matplotlib_venn import venn3, venn3_circles

v = venn3(subsets=(1,1,0,1,0,0,0))
v.get_label_by_id('100').set_text('First')
v.get_label_by_id('010').set_text('Second')
v.get_label_by_id('001').set_text('Third')
plt.title("Not a Venn diagram")
plt.show()

дает схема:

enter image description here