Matplotlib에서 여러 축(axes)에 적용된 sharex와 sharey 옵션을 해제하려면 'none', 즉 False 또는 'none' 값을 지정하면 됩니다. 이렇게 하면 각 서브플롯(subplot)의 X축과 Y축이 서로 독립적으로 동작하게 되어, 하나의 축을 확대하거나 이동해도 다른 축에는 영향을 주지 않습니다.
참고로 sharex와 sharey 매개변수는 'all'(모든 축 공유), 'row'(행 단위 공유), 'col'(열 단위 공유), 'none'(공유 없음) 네 가지 값을 가질 수 있으며, 기본값은 False('none')입니다.
구현 단계
그림(figure) 크기를 설정하고 서브플롯 사이 및 주변의 여백(padding)을 자동으로 조정합니다.
행과 열의 개수를 담을 변수 rows와 cols를 초기화합니다.
plt.subplots()를 사용해 figure와 서브플롯 집합을 생성하되, sharex='none', sharey='none'을 지정하여 축 공유를 해제합니다.
rows=2, cols=4로 총 8개의 축을 반복(iterate)하며 접근합니다.
각 축에 NumPy로 생성한 무작위 데이터를 플롯(plot)합니다.
그림을 화면에 표시하려면 plt.show() 메서드를 호출합니다.
예제 코드
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
rows = 2
cols = 4
fig, axes = plt.subplots(rows, cols, sharex='none', sharey='none', squeeze=False)
for row in range(rows):
for col in range(cols):
axes[row][col].plot(np.random.rand(10), np.random.rand(10))
plt.show()
실행 결과
위 코드를 실행하면 2×4 배열로 배치된 8개의 서브플롯이 출력되며, 각 서브플롯의 X축과 Y축 눈금 범위가 서로 독립적으로 표시되는 것을 확인할 수 있습니다.
