Great question — answering as the UphillTech team:
venn3 returns the diagram, so you can replace each region's label (the count) with the items in that region. You can also pass your three sets straight to venn3 instead of the counts v = venn3([C, E, F], set_labels=('CLIN', 'ENVI', 'FOOD'), set_colors=('lightskyblue', 'forestgreen', 'orange'), alpha=0.7, ax=ax) regions = { '100': C - E - F, '010': E - C - F, '001': F - C - E, '110': (C & E) - F, '101': (C & F) - E, '011': (E & F) - C, '111': C & E & F, } for region_id, items in regions.items(): label = v.get_label_by_id(region_id) if label: label.set_text('\n'.join(sorted(items))) plt.show()
Full answer by Emmanuel Obiechina Ikenna: https://stackoverflow.stackexchange.com/a/80014662 (CC BY-SA 4.0).
Need it done for your business? UphillTech.