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

Matplotlib 서브플롯에서 눈금 레이블 밀도 줄이는 방법

Matplotlib에서 그래프의 눈금(tick) 레이블이 너무 촘촘하게 표시되면 가독성이 크게 떨어집니다. 이 문제를 해결하려면 density(밀도) 값에 작은 숫자를 할당하여 데이터 포인트 수를 줄이면 됩니다. 데이터 포인트가 적어지면 X축에 표시되는 눈금 레이블의 개수도 자연스럽게 감소합니다.

구현 단계

  • 눈금 밀도를 조절할 변수 density를 초기화합니다.

  • NumPy를 사용하여 x, y 데이터 포인트를 생성합니다.

  • plot() 메서드로 x와 y 데이터를 그래프에 그립니다.

  • xticks() 메서드를 사용해 X축의 현재 눈금 위치와 레이블을 설정합니다.

  • show() 메서드로 완성된 그래프를 화면에 출력합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
density = 10
x = np.linspace(-2, 2, density)
y = np.sin(x)
plt.plot(x, y)
plt.xticks(x)
plt.show()

코드 설명

  • plt.rcParams["figure.figsize"]: 그림 크기를 가로 7인치, 세로 3.5인치로 지정합니다.

  • plt.rcParams["figure.autolayout"]: 레이블이 잘리지 않도록 자동 레이아웃을 활성화합니다.

  • np.linspace(-2, 2, density): -2부터 2 사이를 density 값(10)만큼 균등하게 나눈 좌표를 생성합니다. 이 값을 늘리면 눈금이 더 촘촘해지고, 줄이면 레이블 밀도가 낮아집니다.

  • np.sin(x): 각 x 좌표에 대한 사인 값을 계산합니다.

  • plt.xticks(x): X축 눈금을 생성된 x 데이터 포인트 위치에 정확히 배치합니다.

실행 결과

Matplotlib 서브플롯에서 눈금 레이블 밀도 줄이는 방법

위 코드를 실행하면 sin 곡선 그래프가 그려지며, X축에는 density 값으로 지정한 10개의 눈금 레이블만 표시됩니다. 만약 density = 50처럼 값을 크게 설정하면 눈금 레이블이 겹쳐서 보일 수 있으므로, 상황에 맞게 적절한 값을 선택하는 것이 중요합니다.