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

Python Matplotlib에서 눈금 레이블을 숨기고 눈금은 제자리에 유지하는 방법

Matplotlib에서 눈금(tick) 레이블은 감추면서 눈금 자체는 원래 자리에 그대로 유지하고 싶다면, X축의 눈금 위치와 레이블을 제어하는 xticks() 메서드를 활용하면 됩니다. 핵심은 눈금 위치에는 실제 범위를 전달하고, 레이블에는 빈 리스트를 전달하는 것입니다.

구현 단계

  • numpy를 이용해 x1, x10 변수를 초기화하고, 이를 바탕으로 x·y 데이터 포인트를 준비합니다.
  • plot() 메서드로 x, y 데이터를 그래프에 그립니다.
  • xticks() 메서드는 X축의 현재 눈금 위치와 레이블을 가져오거나 설정할 때 사용합니다. 인수 없이 호출하면 값을 수정하지 않고 현재 상태를 반환합니다. 여기서는 ticks=range(x1, x10)으로 눈금은 유지하되, labels=[](빈 리스트)를 전달해 레이블만 숨깁니다.
  • show() 메서드로 최종 그래프를 화면에 출력합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt

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

x1 = 1
x10 = 10

x = np.linspace(1, 10, 100)
y = np.log(x)

plt.plot(x, y)

# 눈금은 range(1, 10)에 표시하되, 레이블은 빈 리스트로 숨김
plt.xticks(ticks=range(x1, x10), labels=[])

plt.show()

실행 결과

코드를 실행하면 1부터 9까지 눈금 선은 그대로 남아 있지만, 각 눈금 아래의 숫자 레이블은 표시되지 않는 것을 확인할 수 있습니다.

Python Matplotlib에서 눈금 레이블을 숨기고 눈금은 제자리에 유지하는 방법

참고: 다른 구현 방법

객체 지향 방식으로는 축 객체에서 ax.set_xticks(range(x1, x10))ax.set_xticklabels([])를 함께 사용해도 동일한 결과를 얻을 수 있습니다. 또한 plt.tick_params(axis='x', labelbottom=False)처럼 레이블만 선택적으로 비활성화하는 옵션도 있으므로, 상황에 맞게 활용하시기 바랍니다.