이중 축 선 그래프 만들기

Beginner

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

소개

이 랩에서는 Python 의 Matplotlib 라이브러리를 사용하여 이중 축 (dual axes) 을 가진 선 그래프를 만드는 방법을 배웁니다. 서로 다른 스케일을 가진 두 개의 데이터 세트를 동일한 그래프에 플롯합니다. 이는 서로 다른 측정 단위를 가진 관련 변수 두 개를 비교하려는 경우 유용합니다.

VM 팁

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

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

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

라이브러리 임포트

필요한 라이브러리를 임포트하는 것으로 시작합니다. 그래프를 생성하기 위해 matplotlib.pyplot을, 이중 축 (dual axes) 을 생성하기 위해 mpl_toolkits.axes_grid1을 사용합니다.

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

플롯 생성

다음으로, 호스트 축 (host axis) 과 기생 축 (parasite axis) 을 정의하여 플롯을 생성합니다. 호스트 축은 기본 데이터에 사용되고, 기생 축은 보조 데이터에 사용됩니다.

host = host_subplot(111)
par = host.twinx()

레이블 설정

두 축 (axes) 모두에 대한 레이블과 플롯의 제목을 설정합니다.

host.set_xlabel("Distance")
host.set_ylabel("Density")
par.set_ylabel("Temperature")
plt.title("Density and Temperature vs Distance")

데이터 추가

plot 함수를 사용하여 플롯에 데이터를 추가합니다. 각 선을 변수에 할당하여 나중에 참조할 수 있도록 합니다.

p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par.plot([0, 1, 2], [0, 3, 2], label="Temperature")

플롯 서식 지정

범례 (legend), 레이블 색상 및 선 색상을 설정하여 플롯의 서식을 지정합니다.

host.legend()
host.yaxis.get_label().set_color(p1.get_color())
par.yaxis.get_label().set_color(p2.get_color())

플롯 표시

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

plt.show()

요약

이 랩에서는 Python 의 Matplotlib 라이브러리를 사용하여 이중 축 (dual axes) 이 있는 선 그래프를 만드는 방법을 배웠습니다. host_subplottwinx 함수를 사용하여 이중 축을 생성하고 plot 함수를 사용하여 데이터를 추가했습니다. 범례, 레이블 색상 및 선 색상을 설정하여 플롯의 서식을 지정했습니다. 결과 그래프를 통해 서로 다른 측정 단위를 가진 두 개의 관련 변수를 비교할 수 있습니다.