Matplotlib hlines 및 vlines 사용법

Beginner

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

소개

이 랩에서는 Matplotlib 에서 hlinesvlines 함수를 사용하는 방법을 배우게 됩니다. 이 함수들은 플롯 전체에 수평선과 수직선을 그리는 데 사용됩니다.

VM 팁

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

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

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

라이브러리 임포트

첫 번째 단계는 필요한 라이브러리를 임포트하는 것입니다. 이 랩에서는 Matplotlib 및 NumPy 라이브러리를 사용합니다. Matplotlib 는 데이터 시각화 라이브러리이고 NumPy 는 Python 을 사용한 과학적 계산에 사용됩니다.

import matplotlib.pyplot as plt
import numpy as np

데이터 정의

다음 단계는 플롯에 사용할 데이터를 정의하는 것입니다. NumPy 의 arange 함수를 사용하여 0 부터 5 까지 0.1 간격으로 값을 갖는 배열을 생성합니다. 이 배열을 x 축으로 사용합니다. 또한 NumPy 의 지수 함수와 사인 함수를 사용하여 y 축을 정의합니다.

## Define the data
t = np.arange(0.0, 5.0, 0.1)
s = np.exp(-t) + np.sin(2 * np.pi * t) + 1

데이터에 노이즈 추가

이 단계에서는 데이터를 더 현실적으로 만들기 위해 약간의 노이즈를 추가합니다. NumPy 의 normal 함수를 사용하여 평균 0.0 과 표준 편차 0.3 을 갖는 난수를 생성합니다.

## Add noise to the data
nse = np.random.normal(0.0, 0.3, t.shape) * s

플롯 생성

이제 Matplotlib 의 subplots 함수를 사용하여 플롯을 생성합니다. 수직선과 수평선을 위한 두 개의 서브플롯을 생성합니다. 가시성을 높이기 위해 그림 크기를 (12, 6) 으로 설정합니다.

## Create the plot
fig, (vax, hax) = plt.subplots(1, 2, figsize=(12, 6))

수직선 추가

이 단계에서는 플롯에 수직선을 추가합니다. Matplotlib 의 vlines 함수를 사용하여 수직선을 그립니다. 또한 transform 매개변수를 사용하여 y 좌표가 0 에서 1 로 스케일링되도록 설정합니다. x=1 과 x=2 에서 두 개의 수직선을 그립니다.

## Add vertical lines
vax.plot(t, s + nse, '^')
vax.vlines(t, [0], s)
vax.vlines([1, 2], 0, 1, transform=vax.get_xaxis_transform(), colors='r')
vax.set_xlabel('time (s)')
vax.set_title('Vertical lines demo')

수평선 추가

이 단계에서는 플롯에 수평선을 추가합니다. Matplotlib 의 hlines 함수를 사용하여 수평선을 그립니다. y=0.5, y=2.5, y=4.5 에서 수평선을 그립니다.

## Add horizontal lines
hax.plot(s + nse, t, '^')
hax.hlines(t, [0], s, lw=2)
hax.set_xlabel('time (s)')
hax.set_title('Horizontal lines demo')

플롯 표시

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

## Display the plot
plt.show()

요약

이 랩에서는 Matplotlib 의 hlinesvlines 함수를 사용하여 플롯에 수평선과 수직선을 그리는 방법을 배웠습니다. 또한 데이터에 노이즈를 추가하고 그림에 서브플롯을 만드는 방법도 배웠습니다.