Создание диаграмм Венна с категориальными данными - matplotlib_venn - PullRequest
0 голосов
/ 13 сентября 2018

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

  Rosy = ["chocolate", "chips", "cake", "sweets"]
  Steven = ["chocolate", "crisps", "nuggets"]

  venn2([set(Rosy), set(Steven)])
  plt.show()

Затем я получаю диаграмму с количеством записей, соответствующих каждому сегменту , но мне бы хотелось фактических записей в каждом сегменте (т.е. чипсы, сладости в только немного розового, шоколад на перекрестке и чипсы и кусочки в кусочке Стивена). Есть ли способ сделать это с помощью matplotlib_venn?

1 Ответ

0 голосов
/ 13 сентября 2018

Лучший способ, который я нашел, это что-то вроде этого:

set1 = set(['A', 'B', 'C', 'D'])
set2 = set(['B', 'C', 'D', 'E'])

v = venn2([set1, set2], ('Set1', 'Set2'))
v.get_label_by_id('10').set_text('\n A')
v.get_label_by_id('01').set_text('\n E')
v.get_label_by_id('11').set_text('\n \nB \nC \nD')
plt.show()

Просто создайте функции, которые генерируют тексты из set1 & set2 для set_text на лету, и все готово. enter image description here

...