> 백엔드 개발 > 파이썬 튜토리얼 > matplotlib 플롯에서 레이블이 잘리거나 겹치는 것을 방지하려면 어떻게 해야 합니까?

matplotlib 플롯에서 레이블이 잘리거나 겹치는 것을 방지하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-11-07 07:28:03
원래의
392명이 탐색했습니다.

How do I prevent labels from being cut off or overlapping in matplotlib plots?

잘라내기 또는 겹치는 레이블로 패딩 조정

문제:

matplotlib를 사용하여 플롯할 때 크거나 복잡한 레이블이 있는 데이터의 경우 레이블이 잘리거나 축과 겹칠 수 있습니다. 이는 개별 플롯과 서브플롯 모두에서 발생할 수 있습니다.

해결책:

레이블 주변의 패딩을 조정하려면 plt.subplots_adjust() 함수를 사용하세요. 이 함수는 각 방향의 패딩 양을 지정하는 하단, 상단, 왼쪽, 오른쪽을 비롯한 여러 인수를 사용합니다.

예를 들어 플롯 하단의 패딩을 늘려 공간을 확보합니다. 큰 x-라벨 사용:

import matplotlib.pyplot as plt

plt.subplots_adjust(bottom=0.15)
로그인 후 복사

레이블이 축과 겹치는 것을 방지하려면 동일한 접근 방식을 사용하여 축 주위의 패딩을 조정할 수 있습니다. 예를 들어 플롯의 왼쪽과 아래쪽 패딩을 늘리려면 다음을 사용합니다.

plt.subplots_adjust(left=0.15, bottom=0.15)
로그인 후 복사

대체 솔루션: plt.tight_layout()

소개 이후 matplotlib 버전 1.5에서는 plt.tight_layout() 함수를 사용하여 플롯 주위의 패딩을 자동으로 조정하여 레이블이 잘리거나 겹치는 것을 방지할 수도 있습니다. 이 함수는 패딩을 수동으로 조정하는 것보다 더 편리하고 더 나은 결과를 제공하는 경우가 많습니다.

예를 들어, 서브플롯과 함께 plt.tight_layout()을 사용하려면 다음을 사용하세요.

fig, axes = plt.subplots(ncols=2, nrows=2, figsize=(8, 6))
axes = axes.flatten()

for ax in axes:
    ax.set_ylabel(r'$\ln\left(\frac{x_a-x_b}{x_a-x_c}\right)$')
    ax.set_xlabel(r'$\ln\left(\frac{x_a-x_d}{x_a-x_e}\right)$')

plt.tight_layout()
plt.show()
로그인 후 복사

위 내용은 matplotlib 플롯에서 레이블이 잘리거나 겹치는 것을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿