Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib-venn에서 글꼴 크기 변경하는 방법

Matplotlib-venn으로 그린 벤 다이어그램에서 글꼴 크기를 수정하려면 set_fontsize() 메서드를 사용하면 됩니다. 이 메서드를 활용하면 집합 레이블(set_labels)과 부분 집합 레이블(subset_labels)의 텍스트 크기를 자유롭게 조절할 수 있습니다.

구현 단계

  • 그림(figure) 크기를 설정하고, 서브플롯 사이 및 주변의 여백(padding)을 자동으로 조정합니다.
  • 벤 다이어그램에 사용할 세 개의 집합을 생성합니다.
  • 3개 집합의 면적 비율에 맞게 그려지는 area-weighted 벤 다이어그램을 플로팅합니다.
  • set_labels(집합 이름 레이블)와 subset_labels(교집합 개수 레이블)의 글꼴 크기를 설정하기 위해 set_fontsize() 메서드를 호출합니다.
  • 최종 결과를 화면에 표시하려면 show() 메서드를 사용합니다.

예제 코드

from matplotlib import pyplot as plt
from matplotlib_venn import venn3

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

set1 = {'a', 'b', 'c', 'd'}
set2 = {'a', 'b', 'e'}
set3 = {'a', 'd', 'f'}

out = venn3([set1, set2, set3], ('Set1', 'Set2', 'Set3'))

for text in out.set_labels:
    text.set_fontsize(25)

for text in out.subset_labels:
    text.set_fontsize(12)

plt.show()

실행 결과

위 코드를 실행하면 집합 이름 레이블(Set1, Set2, Set3)은 25pt 크기로, 각 영역의 원소 개수 레이블은 12pt 크기로 표시된 3-set 벤 다이어그램이 출력됩니다.

Matplotlib-venn에서 글꼴 크기 변경하는 방법

핵심 포인트 정리

venn3() 함수가 반환하는 객체에는 set_labelssubset_labels라는 텍스트 객체 목록이 포함되어 있습니다. 각 텍스트 객체에 대해 반복문을 돌며 set_fontsize()를 호출하면 레이블별로 다른 글꼴 크기를 적용할 수 있습니다. 참고로 subset_labels는 값이 없는 영역의 경우 None일 수 있으므로, 실무에서는 None 체크를 추가해 주는 것이 안전합니다.