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에 익숙하지 않다면, 공식 문서와 다른 튜토리얼들을 참고하여 더 많은 기능을 알아보세요.