Matplotlib_venn изменяет то, что отображается на диаграмме Венна

Я использую пакет Matplotlib_venn, чтобы сделать несколько диаграмм Венна, представляющих перекрытия трех разных наборов (следовательно, используя Venn3).

Когда я использую plt.show() и создайте диаграмму Венна, числа, которые отображаются на внутренней стороне каждой части каждого круга, представляют собой число раз, когда элемент в наборах выполняет это требование перекрытия. Я понимаю.

Мой вопрос: есть ли способ вместо отображения этой мощности отображать элементы набора, которые существуют в каждом из этих кругов? Я полагаю, что это может сильно испортить большие наборы, но не могли бы вы сделать это, скажем, из трех наборов, содержащих менее 5 элементов в каждом наборе? Если так, как бы я это сделал?

0 ответов

Я думаю, что я просто должен использовать .get_label_by_id().set_text() чтобы сделать это, так как есть только несколько пунктов, как вы сказали.

Во-первых, давайте получим все метки для каждой области диаграммы Венна:


from matplotlib_venn import venn3
subsets=(1, 1, 0.2, 1, 0.2, 0.2, 0.1)
v = venn3(subsets=subsets)
labels = ['100', '101', '110', '010', '001', '011', '111']
[v.get_label_by_id(label).set_text(label) for label in labels]

Это даст вам:

Если вы хотите отобразить элементы (например, a, b, c, d) в области, помеченной 100, вы можете использовать следующий код:

v.get_label_by_id('100').set_text('a, b, c, d')

Другие вопросы по тегам