Matplotlib 에서 기생 축으로 다중 플롯 생성하기

Beginner

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

소개

이 랩에서는 Python Matplotlib 에서 기생 축 (parasite axis) 을 사용하여 여러 데이터 세트 플롯을 만드는 방법을 배웁니다. mpl_toolkits.axes_grid1.parasite_axes.host_subplotmpl_toolkits.axisartist.axislines.Axes를 사용하여 여러 y 축이 있는 플롯을 생성합니다.

VM 팁

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

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

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

라이브러리 임포트

먼저 필요한 라이브러리를 임포트해야 합니다. 플로팅을 위해 matplotlib.pyplot을 사용하고, 기생 축 (parasite axis) 을 생성하기 위해 mpl_toolkits을 사용합니다.

import matplotlib.pyplot as plt
from mpl_toolkits import axisartist
from mpl_toolkits.axes_grid1 import host_subplot

호스트 및 기생 축 생성

host_subplot()twinx() 함수를 사용하여 호스트 축과 두 개의 기생 축을 생성합니다. host_subplot() 함수는 호스트 축을 생성하고, twinx() 함수는 호스트 축과 동일한 x 축을 공유하는 기생 축을 생성합니다.

host = host_subplot(111, axes_class=axisartist.Axes)
plt.subplots_adjust(right=0.75)

par1 = host.twinx()
par2 = host.twinx()

기생 축 조정

기생 축의 위치를 조정해야 합니다. new_fixed_axis() 함수는 플롯의 오른쪽에 새로운 y 축을 생성하는 데 사용됩니다. toggle() 함수는 오른쪽 y 축의 모든 눈금과 레이블을 켜는 데 사용됩니다.

par2.axis["right"] = par2.new_fixed_axis(loc="right", offset=(60, 0))

par1.axis["right"].toggle(all=True)
par2.axis["right"].toggle(all=True)

데이터 플롯

밀도, 온도 및 속도, 세 개의 데이터 세트를 동일한 플롯에 플롯합니다. plot() 함수를 사용하여 데이터를 플롯합니다.

p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par1.plot([0, 1, 2], [0, 3, 2], label="Temperature")
p3, = par2.plot([0, 1, 2], [50, 30, 15], label="Velocity")

축 제한 및 레이블 설정

set() 함수를 사용하여 각 축에 대한 x 축 및 y 축 제한과 레이블을 설정합니다.

host.set(xlim=(0, 2), ylim=(0, 2), xlabel="Distance", ylabel="Density")
par1.set(ylim=(0, 4), ylabel="Temperature")
par2.set(ylim=(1, 65), ylabel="Velocity")

범례 및 색상 추가

legend()label.set_color() 함수를 사용하여 플롯에 범례를 추가하고 각 축의 레이블 색상을 해당 데이터 세트의 색상과 일치시킵니다.

host.legend()

host.axis["left"].label.set_color(p1.get_color())
par1.axis["right"].label.set_color(p2.get_color())
par2.axis["right"].label.set_color(p3.get_color())

플롯 표시

마지막으로, show() 함수를 사용하여 플롯을 표시합니다.

plt.show()

요약

이 랩에서는 Python Matplotlib 에서 기생 축 (parasite axis) 을 사용하여 여러 데이터 세트 플롯을 만드는 방법을 배웠습니다. mpl_toolkits.axes_grid1.parasite_axes.host_subplotmpl_toolkits.axisartist.axislines.Axes를 사용하여 여러 y 축이 있는 플롯을 만들었습니다. 또한 기생 축의 위치를 조정하고, 데이터를 플롯하고, 축 제한 및 레이블을 설정하고, 플롯에 범례와 색상을 추가하고, 플롯을 표시하는 방법을 배웠습니다.