Python Matplotlib 를 이용한 그림 생성

Beginner

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

소개

이 랩에서는 Python 의 Matplotlib 라이브러리를 사용하여 제목, 부제목 및 전역 레이블이 있는 그림을 만드는 과정을 안내합니다. 다양한 유형의 진동 플롯을 생성하고 그림에 전역 x 또는 y 레이블을 추가하는 방법을 배우게 됩니다.

VM 팁

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

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

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

감쇠 및 비감쇠 진동 플롯 생성

먼저, 감쇠 진동과 비감쇠 진동에 대한 두 개의 서브플롯이 있는 그림을 생성합니다. np.linspace() 함수를 사용하여 시간 값의 배열을 생성한 다음, np.cos()np.exp() 함수를 사용하여 각 유형의 진동에 대한 해당 진폭 값을 플롯합니다.

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.0, 5.0, 501)

fig, (ax1, ax2) = plt.subplots(1, 2, layout='constrained', sharey=True)
ax1.plot(x, np.cos(6*x) * np.exp(-x))
ax1.set_title('damped')
ax1.set_xlabel('time (s)')
ax1.set_ylabel('amplitude')

ax2.plot(x, np.cos(6*x))
ax2.set_xlabel('time (s)')
ax2.set_title('undamped')

fig.suptitle('Different types of oscillations', fontsize=16)

plt.show()

그림에 전역 x 및 y 레이블 추가

다음으로, 시간에 따른 서로 다른 회사의 상대적인 주가를 보여주는 그림에 전역 x 및 y 레이블을 추가합니다. np.genfromtxt() 함수를 사용하여 주가 데이터를 포함하는 CSV 파일을 읽은 다음, 서브플롯을 사용하여 각 회사에 대한 데이터를 플롯합니다. fig.supxlabel()fig.supylabel() 메서드를 사용하여 그림에 전역 x 및 y 레이블을 추가합니다.

from matplotlib.cbook import get_sample_data

with get_sample_data('Stocks.csv') as file:
    stocks = np.genfromtxt(
        file, delimiter=',', names=True, dtype=None,
        converters={0: lambda x: np.datetime64(x, 'D')}, skip_header=1)

fig, axs = plt.subplots(4, 2, figsize=(9, 5), layout='constrained',
                        sharex=True, sharey=True)
for nn, ax in enumerate(axs.flat):
    column_name = stocks.dtype.names[1+nn]
    y = stocks[column_name]
    line, = ax.plot(stocks['Date'], y / np.nanmax(y), lw=2.5)
    ax.set_title(column_name, fontsize='small', loc='left')
fig.supxlabel('Year')
fig.supylabel('Stock price relative to max')

plt.show()

요약

이 랩에서는 Python 의 Matplotlib 라이브러리를 사용하여 제목과 부제목이 있는 그림을 만드는 방법을 배웠습니다. 또한 그림에 전역 x 및 y 레이블을 추가하는 방법도 배웠습니다. 이러한 기술은 데이터를 명확하고 유익하게 시각화하는 데 유용합니다.