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까지 눈금 선은 그대로 남아 있지만, 각 눈금 아래의 숫자 레이블은 표시되지 않는 것을 확인할 수 있습니다.

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