Matplotlib 틱 레이블 정렬 조정

Beginner

This tutorial is from open-source community. Access the source code

소개

데이터 시각화에서 틱 레이블 (tick label) 은 시청자에게 정보를 전달하는 데 중요한 역할을 합니다. 때로는 틱 레이블의 가독성을 높이거나 겹침을 방지하기 위해 정렬을 조정해야 할 수 있습니다. 이 랩에서는 Matplotlib 을 사용하여 틱 레이블의 정렬을 조정하는 방법을 배웁니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

Matplotlib 및 AxisArtist 가져오기

먼저, Matplotlib 과 AxisArtist 를 가져와야 합니다. AxisArtist 는 사용자 정의 축 (custom axes) 을 생성하기 위한 추가 도구를 제공합니다.

import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist

축 설정 함수 정의

코드를 단순화하기 위해, figure 객체와 위치를 입력으로 받아 사용자 정의 틱 레이블이 있는 axis 객체를 반환하는 함수를 정의할 수 있습니다.

def setup_axes(fig, pos):
    ax = fig.add_subplot(pos, axes_class=axisartist.Axes)
    ax.set_yticks([0.2, 0.8], labels=["short", "loooong"])
    ax.set_xticks([0.2, 0.8], labels=[r"$\frac{1}{2}\pi$", r"$\pi$"])
    return ax

Figure 생성 및 Subplot 추가

다음으로, figure 객체를 생성하고 setup_axes 함수를 사용하여 세 개의 subplot 을 추가할 수 있습니다.

fig = plt.figure(figsize=(3, 5))
fig.subplots_adjust(left=0.5, hspace=0.7)

ax = setup_axes(fig, 311)
ax.set_ylabel("ha=right")
ax.set_xlabel("va=baseline")

ax = setup_axes(fig, 312)
ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")
ax.set_ylabel("ha=center")
ax.set_xlabel("va=top")

ax = setup_axes(fig, 313)
ax.axis["left"].major_ticklabels.set_ha("left")
ax.axis["bottom"].major_ticklabels.set_va("bottom")
ax.set_ylabel("ha=left")
ax.set_xlabel("va=bottom")

틱 레이블 정렬 조정

마지막으로, set_haset_va 메서드를 사용하여 틱 레이블의 수평 및 수직 정렬을 조정할 수 있습니다.

ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")

플롯 표시

플롯을 표시하려면 show 메서드를 사용할 수 있습니다.

plt.show()

요약

이 랩에서는 Matplotlib 및 AxisArtist 를 사용하여 틱 레이블의 정렬을 조정하는 방법을 배웠습니다. 틱 레이블의 수평 및 수직 정렬을 사용자 정의함으로써 데이터 시각화의 가독성과 명확성을 향상시킬 수 있습니다.