데이터 시각화를 위한 Matplotlib 범례 생성

Beginner

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

소개

데이터 시각화에서 범례는 보는 사람이 무엇을 보고 있는지 이해하는 데 도움을 줍니다. Matplotlib 의 범례는 그래프의 요소를 설명하는 레이블입니다. 이 튜토리얼에서는 Matplotlib figure 에 대한 범례를 만드는 방법을 보여줍니다.

VM 팁

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

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

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

필요한 라이브러리 가져오기

먼저, NumPy 와 Matplotlib 과 같은 필요한 라이브러리를 가져와야 합니다. NumPy 는 배열 작업을 위해 사용되는 Python 라이브러리이고, Matplotlib 은 데이터 시각화 라이브러리입니다.

import matplotlib.pyplot as plt
import numpy as np

기본 플롯 생성

기본 플롯을 생성하려면 x 및 y 값을 정의한 다음 plt.plot()을 사용하여 플롯해야 합니다. 여기서는 두 개의 사인파를 플롯합니다.

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.sin(4 * np.pi * x)

plt.plot(x, y1, label='sin(2pix)')
plt.plot(x, y2, label='sin(4pix)')

범례 추가

플롯에 범례를 추가하려면 plt.legend() 함수를 사용합니다. 각 선에 대한 레이블을 문자열 목록으로 함수의 labels 매개변수에 전달할 수 있습니다.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'])

범례 사용자 정의

범례의 위치, 글꼴 크기 및 기타 매개변수를 변경하여 범례를 사용자 정의할 수 있습니다. 범례의 위치를 변경하려면 loc 매개변수를 사용합니다. 또한 fontsize 매개변수를 사용하여 글꼴 크기를 변경할 수 있습니다.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'], loc='lower right', fontsize='large')

서브플롯에 대한 범례 생성

서브플롯을 생성할 때, fig.legend() 함수를 사용하여 모든 서브플롯에 대한 범례를 생성할 수 있습니다. 여기서는 두 개의 서브플롯을 생성하고 각 서브플롯에 두 개의 선을 그립니다.

fig, axs = plt.subplots(1, 2)

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='upper right')

축 외부의 범례 배치

때로는 범례를 축 외부에 배치하고 싶을 수 있습니다. loc 매개변수를 사용하여 축 외부의 범례 위치를 지정할 수 있습니다.

fig, axs = plt.subplots(1, 2, layout='constrained')

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='outside right upper')

요약

이 튜토리얼에서는 Matplotlib 그림에 대한 범례를 만드는 방법을 배웠습니다. 기본적인 플롯을 생성하고, 범례를 추가하고, 범례를 사용자 정의하고, 서브플롯에 대한 범례를 생성하고, 축 외부에 범례를 배치하는 방법을 살펴보았습니다. 범례는 데이터 시각화의 중요한 측면이며, 범례를 만드는 방법을 아는 것은 모든 데이터 과학자 또는 분석가에게 필수적인 기술입니다.