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

Matplotlib에서 모든 X축 좌표 눈금을 표시하는 방법

Matplotlib으로 그래프를 그리다 보면 데이터 포인트가 많을 때 X축이나 Y축의 일부 좌표 눈금이 자동으로 생략되는 경우가 있습니다. 이럴 때 xticks() 메서드(또는 yticks() 메서드)를 사용하면 모든 X 좌표(Y 좌표)를 눈금으로 표시할 수 있습니다.

구현 단계

  • 그림(figure) 크기를 설정하고, 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.

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

  • 축의 마진(margins)을 x=0, y=0으로 설정하여 그래프가 축에 딱 맞게 배치되도록 합니다.

  • plot() 메서드를 사용하여 x, y 데이터 포인트를 그래프로 그립니다.

  • xticks() 메서드를 호출하여 그래프에 모든 X 좌표를 눈금으로 표시합니다.

  • yticks() 메서드를 호출하여 그래프에 모든 Y 좌표를 눈금으로 표시합니다.

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

예제 코드

import numpy as np
import matplotlib.pyplot as plt

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

x = np.arange(0, 10, 1)
y = np.arange(0, 10, 1)

plt.margins(x=0, y=0)
plt.plot(x, y)

plt.xticks(x)
plt.yticks(y)

plt.show()

코드 설명

위 예제에서 np.arange(0, 10, 1)는 0부터 9까지 1씩 증가하는 정수 배열을 생성합니다. 핵심은 plt.xticks(x) 부분입니다. xticks()에 원하는 좌표 배열을 인자로 전달하면, Matplotlib가 기본적으로 자동 간격으로 생략했던 눈금까지 모두 표시됩니다. 같은 방식으로 plt.yticks(y)를 적용하면 Y축에도 모든 좌표 값이 나타납니다.

실행 결과

Matplotlib에서 모든 X축 좌표 눈금을 표시하는 방법

실행 결과, X축과 Y축에 0부터 9까지의 모든 정수 좌표가 빠짐없이 눈금으로 표시된 것을 확인할 수 있습니다. 참고로 눈금 라벨의 글꼴 크기나 회전 각도를 조정하고 싶다면 plt.xticks(x, rotation=45, fontsize=8)처럼 추가 옵션을 활용하면 됩니다.