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')