Установить размер круга и размер этикетки на диаграмме Венна с помощью matplotlib-venn
У меня есть пара различных диаграмм Венна, созданных с помощью библиотеки matplotlib-venn, которые имеют хотя бы один набор. Мне бы хотелось, чтобы круг этого набора был одинакового размера на обоих, чтобы они были сопоставимы. Я также хотел бы изменить размер шрифта надписей, но я пока не понимаю, как получить это из функций matplotlib-venn. Как я мог это сделать?
Пример наборов может быть примерно таким:
from matplotlib_venn import venn3
s1=set('abracadabra')
s2=set('alakazam')
s3=set('stackru')
s4=set('hocus pocus')
v_test1=venn3([s1,s2,s3],('set1','set2','set3'))
v_test1=venn3([s1,s3,s4],('set1','set3','set4'))
1 ответ
Когда вы звоните venn3
функция это вызов solve_venn3_circles
рассчитать центры и радиус окружностей. Это означает, что вы не можете сами установить радиус, потому что это влияет на конечное изображение и может быть неверным. Однако вы можете попытаться отрегулировать размер ваших кругов с помощью normalize_to
аргумент venn3
функция.
Для размера шрифта вы можете использовать этот код:
for t in v_test1.set_labels: t.set_fontsize(22)
for t in v_test1.subset_labels: t.set_fontsize(20)
Или установите размер шрифта по id:
label = v_test1.get_label_by_id('111')
label.set_fontsize(22)
Информацию об id ищите на странице руководства.