Matplotlib에서 플롯의 그리드(grid) 크기를 정의하려면 눈금(ticks) 위치를 직접 지정하고 그리드를 활성화하면 됩니다. 아래 단계를 따라 진행할 수 있습니다.
구현 단계
- figure() 메서드를 사용하여 새 figure를 생성하거나 기존 figure를 활성화합니다.
- subplot 배치의 일부로 add_subplot()을 통해 figure에 축(axes)을 추가합니다.
- 입력 리스트를 사용하여 곡선을 플롯합니다.
- margins() 메서드로 x축과 y축의 여백을 0으로 설정합니다.
- X축 그리드 위치를 정하려면 원하는 눈금 좌표를 리스트로 만들어 set_ticks()에 전달합니다.
- 현재 선 스타일대로 그리드 선을 표시하려면 grid(True) 메서드를 호출합니다.
- 마지막으로 show() 메서드를 사용하여 figure를 화면에 출력합니다.
예제 코드
from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() ax = fig.add_subplot(111) ax.plot([0, 2, 5, 8, 10, 1, 3, 14], 'ro-') ax.margins(x=0, y=0) grid_points = [1., 2., 3., 10.] ax.xaxis.set_ticks(grid_points) ax.grid(True) plt.show()
코드 설명
위 예제에서는 먼저 figure 크기를 7.00 × 3.50 인치로 지정하고 자동 레이아웃 조정을 활성화했습니다. 이후 add_subplot(111)으로 축을 추가하고 빨간색 원형 마커와 실선('ro-')으로 데이터를 그렸습니다.
핵심은 grid_points = [1., 2., 3., 10.] 부분입니다. 이 리스트가 X축 그리드가 표시될 위치를 결정하며, set_ticks()에 전달함으로써 그리드 간격이 임의의 값으로 정의됩니다. 즉, 그리드 크기를 자유롭게 조절하고 싶다면 이 리스트의 값을 변경하면 됩니다.
실행 결과
코드를 실행하면 지정된 눈금 위치(1, 2, 3, 10)에 세로 그리드 선이 그려진 빨간색 꺾은선 그래프가 출력됩니다.