Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

enter image description here

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

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