[파이썬] matplotlib 플롯 간의 간격 조절하기

matplotlib은 파이썬에서 데이터 시각화를 위해 널리 사용되는 라이브러리입니다. 그러나 때로는 그래프 간의 간격을 조절해야할 필요가 있을 수 있습니다. 이번 블로그 포스트에서는 matplotlib에서 플롯 간의 간격을 조절하는 방법에 대해 알아보겠습니다.

서브플롯 생성하기

서브플롯(subplot)은 하나의 그림(figure) 안에 여러 개의 축(ax)을 생성하는 방법입니다. 이를 사용하면 그래프를 여러 개의 행과 열로 나눌 수 있습니다. 각 서브플롯은 독립적인 축을 가지며, 개별적으로 설정할 수 있습니다.

import matplotlib.pyplot as plt

# 플롯을 2x2 그리드로 나누기
fig, axs = plt.subplots(2, 2)

# 각각의 서브플롯에 데이터 시각화하기
axs[0, 0].plot(x1, y1)
axs[0, 1].scatter(x2, y2)
axs[1, 0].bar(x3, y3)
axs[1, 1].hist(x4, bins=10)

plt.show()

위의 예제에서 plt.subplots(2, 2)는 2x2 그리드를 생성합니다. 반환된 fig 객체는 전체 그림을 나타내고, axs 객체는 각각의 축을 나타냅니다. 각 서브플롯에는 인덱싱을 사용하여 접근할 수 있습니다.

플롯 간의 간격 조절하기

matplotlib에서 서브플롯의 간격을 조절하는 가장 일반적인 방법은 plt.subplots_adjust() 함수를 사용하는 것입니다. 이 함수를 사용하면 그래프 간의 간격, 여백 등을 조절할 수 있습니다.

import matplotlib.pyplot as plt

fig, axs = plt.subplots(2, 2)

# 플롯 간의 간격 조절
plt.subplots_adjust(hspace=0.5, wspace=0.3)

axs[0, 0].plot(x1, y1)
axs[0, 1].scatter(x2, y2)
axs[1, 0].bar(x3, y3)
axs[1, 1].hist(x4, bins=10)

plt.show()

위의 예제에서 plt.subplots_adjust(hspace=0.5, wspace=0.3)를 사용하여 플롯 간의 세로(수직) 간격을 0.5로, 가로(수평) 간격을 0.3으로 설정하였습니다. 이 값은 0과 1 사이의 값으로 조정할 수 있으며, 기본값은 0.2입니다.

또한 plt.subplots_adjust() 함수의 다른 매개변수와 함께 사용하여 여백, 마진 등을 조절할 수도 있습니다. 자세한 내용은 matplotlib 공식 문서를 참고하세요.

결론

matplotlib를 사용하여 플롯 간의 간격을 조절하는 방법을 알아보았습니다. plt.subplots()를 사용하여 서브플롯을 생성하고, plt.subplots_adjust()를 사용하여 플롯 간의 간격을 조절할 수 있습니다. 이를 통해 보다 깔끔하고 정교한 데이터 시각화를 만들 수 있습니다.

만약 matplotlib에 익숙하지 않다면, 공식 문서와 다른 튜토리얼들을 참고하여 더 많은 기능을 알아보세요.