Venn3: Как переместить круги и метки?
Я сделал трехстороннюю диаграмму Венна. У меня есть три проблемы, которые я не могу решить.
Что такое код для перемещения меток круга (т. Е. "Set1", "Set2", "Set3"), потому что сейчас вы слишком далеко от круга.
Каков код, позволяющий сделать круги трех равных размеров / изменить размер круга?
Какой код для перемещения кругов вокруг сюжета. Прямо сейчас, set2 находится внутри set3 (но окрашен по-разному), я бы хотел, чтобы диаграмма выглядела как «стандартный» способ отображения диаграммы Венна (то есть 3 отдельных круга с некоторым перекрытием посередине).
С другой стороны, мне было трудно найти, какими должны быть команды, такие как «set_x», «set_alpha»; если бы кто-нибудь знал руководство, которое ответило бы на поставленные выше вопросы, я был бы признателен, я бы не смог найти одно место со всей необходимой мне информацией.
import sys
import numpy
import scipy
from matplotlib_venn import venn3,venn3_circles
from matplotlib import pyplot as plt
#Build three lists to make 3 way venn diagram with
list_line = lambda x: set([line.strip() for line in open(sys.argv[x])])
set1,set2,set3 = list_line(1),list_line(2),list_line(3)
#Make venn diagram
vd = venn3([set1,set2,set3],set_labels=("Set1","Set2","Set3"))
#Colours: get the HTML codes from the net
vd.get_patch_by_id("100").set_color("#FF8000")
vd.get_patch_by_id("001").set_color("#5858FA")
vd.get_patch_by_id("011").set_color("#01DF3A")
#Move the numbers in the circles
vd.get_label_by_id("100").set_x(-0.55)
vd.get_label_by_id("011").set_x(0.1)
#Strength of color, 2.0 is very strong.
vd.get_patch_by_id("100").set_alpha(0.8)
vd.get_patch_by_id("001").set_alpha(0.6)
vd.get_patch_by_id("011").set_alpha(0.8)
plt.title("Venn Diagram",fontsize=14)
plt.savefig("output",format="pdf")