Matplotlib 축 방향 사용자 정의

Beginner

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

소개

Matplotlib 는 Python 에서 널리 사용되는 데이터 시각화 라이브러리입니다. 플롯과 차트를 사용자 정의하기 위한 다양한 옵션을 제공합니다. 이 랩에서는 mpl_toolkits.axisartist 모듈을 사용하여 Matplotlib 에서 축 방향을 설정하는 방법을 살펴봅니다.

VM 팁

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

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

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

라이브러리 가져오기

시작하기 전에 필요한 라이브러리를 가져와야 합니다. 이 랩에서는 matplotlib.pyplotmpl_toolkits.axisartist를 사용합니다.

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

축 설정 함수 생성

플롯의 축을 설정하기 위해 setup_axes라는 함수를 생성합니다. 이 함수는 fig 객체와 pos 객체, 두 개의 매개변수를 받습니다. fig 객체는 우리가 플로팅할 figure 객체이고, pos 객체는 figure 내의 서브플롯 위치입니다.

def setup_axes(fig, pos):
    ax = fig.add_subplot(pos, axes_class=axisartist.Axes)

    ax.set_ylim(-0.1, 1.5)
    ax.set_yticks([0, 1])

    ax.axis[:].set_visible(False)

    ax.axis["x"] = ax.new_floating_axis(1, 0.5)
    ax.axis["x"].set_axisline_style("->", size=1.5)

    return ax

축 방향 설정

이제 figure 객체를 생성하고 플롯의 축 방향을 설정합니다. 다양한 축 방향을 시연하기 위해 다섯 개의 서로 다른 서브플롯을 생성합니다.

plt.rcParams.update({
    "axes.titlesize": "medium",
    "axes.titley": 1.1,
})

fig = plt.figure(figsize=(10, 4))
fig.subplots_adjust(bottom=0.1, top=0.9, left=0.05, right=0.95)

ax1 = setup_axes(fig, 251)
ax1.axis["x"].set_axis_direction("left")

ax2 = setup_axes(fig, 252)
ax2.axis["x"].label.set_text("Label")
ax2.axis["x"].toggle(ticklabels=False)
ax2.axis["x"].set_axislabel_direction("+")
ax2.set_title("label direction=$+$")

ax3 = setup_axes(fig, 253)
ax3.axis["x"].label.set_text("Label")
ax3.axis["x"].toggle(ticklabels=False)
ax3.axis["x"].set_axislabel_direction("-")
ax3.set_title("label direction=$-$")

ax4 = setup_axes(fig, 254)
ax4.axis["x"].set_ticklabel_direction("+")
ax4.set_title("ticklabel direction=$+$")

ax5 = setup_axes(fig, 255)
ax5.axis["x"].set_ticklabel_direction("-")
ax5.set_title("ticklabel direction=$-$")

ax7 = setup_axes(fig, 257)
ax7.axis["x"].label.set_text("rotation=10")
ax7.axis["x"].label.set_rotation(10)
ax7.axis["x"].toggle(ticklabels=False)

ax8 = setup_axes(fig, 258)
ax8.axis["x"].set_axislabel_direction("-")
ax8.axis["x"].label.set_text("rotation=10")
ax8.axis["x"].label.set_rotation(10)
ax8.axis["x"].toggle(ticklabels=False)

plt.show()

결과 해석

이 코드는 다양한 축 방향을 보여주는 다섯 개의 서브플롯이 있는 figure 를 생성합니다. 다음은 서브플롯에 대한 요약입니다.

  1. 서브플롯 1: 축 방향이 왼쪽으로 설정됩니다.
  2. 서브플롯 2: 축 레이블 방향이 양수로 설정됩니다.
  3. 서브플롯 3: 축 레이블 방향이 음수로 설정됩니다.
  4. 서브플롯 4: 눈금 레이블 방향이 양수로 설정됩니다.
  5. 서브플롯 5: 눈금 레이블 방향이 음수로 설정됩니다.

요약

이 랩에서는 mpl_toolkits.axisartist 모듈을 사용하여 Matplotlib 에서 축 방향을 설정하는 방법을 배웠습니다. 플롯의 축을 설정하는 함수를 만들고 여러 서브플롯을 사용하여 다양한 축 방향을 시연했습니다. 이는 Matplotlib 에서 플롯과 차트를 사용자 정의하는 데 유용한 도구입니다.