Matplotlib 를 사용한 간단한 선 그래프

Beginner

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

소개

이 튜토리얼은 Python 의 Matplotlib 라이브러리를 사용하여 곡선 아래 영역을 나타내는 음영 영역이 있는 간단한 선 그래프를 만드는 방법을 보여줍니다. 이 플롯에는 텍스트 레이블, 축 레이블, 사용자 정의 눈금 위치 및 레이블이 포함됩니다.

VM 팁

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

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

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

함수 정의

먼저, 플롯할 함수를 정의합니다. 이 예제에서 함수는 (x - 3) _ (x - 5) _ (x - 7) + 85 입니다.

def func(x):
    return (x - 3) * (x - 5) * (x - 7) + 85

적분 한계 정의

다음으로, 적분 한계를 정의합니다. 이 예제에서 한계는 a = 2 및 b = 9 입니다.

a, b = 2, 9

x 및 y 값 생성

numpylinspace 함수를 사용하여 x 값의 범위를 생성합니다. 그런 다음, 1 단계에서 정의된 함수를 사용하여 해당 y 값을 생성합니다.

import numpy as np

x = np.linspace(0, 10)
y = func(x)

플롯 생성

subplots를 사용하여 figure 및 axis 객체를 생성합니다. plot을 사용하여 x 및 y 값을 플롯합니다. set_ylim을 사용하여 y 축의 한계를 0 에서 시작하도록 설정합니다.

fig, ax = plt.subplots()
ax.plot(x, y, 'r', linewidth=2)
ax.set_ylim(bottom=0)

음영 영역 생성

Polygon 패치를 사용하여 음영 영역을 생성합니다. linspace와 1 단계에서 정의된 함수를 사용하여 영역에 대한 x 및 y 값을 생성합니다. 그런 다음, 영역의 정점을 튜플 목록으로 정의합니다. 마지막으로, Polygon 객체를 생성하고 add_patch를 사용하여 축에 추가합니다.

from matplotlib.patches import Polygon

ix = np.linspace(a, b)
iy = func(ix)
verts = [(a, 0), *zip(ix, iy), (b, 0)]
poly = Polygon(verts, facecolor='0.9', edgecolor='0.5')
ax.add_patch(poly)

적분 레이블 추가

text를 사용하여 플롯에 적분 레이블을 추가합니다. 레이블은 a 와 b 사이의 중간점에 맞춰져야 하며 mathtext 를 사용하여 서식을 지정해야 합니다.

ax.text(0.5 * (a + b), 30, r"$\int_a^b f(x)\mathrm{d}x$",
        horizontalalignment='center', fontsize=20)

축 레이블 및 눈금 레이블 추가

figtext를 사용하여 x 및 y 축 레이블을 추가합니다. spines를 사용하여 상단 및 오른쪽 스파인을 숨깁니다. set_xticksset_yticks를 사용하여 사용자 정의 눈금 위치 및 레이블을 설정합니다.

fig.text(0.9, 0.05, '$x$')
fig.text(0.1, 0.9, '$y$')

ax.spines[['top', 'right']].set_visible(False)
ax.set_xticks([a, b], labels=['$a$', '$b$'])
ax.set_yticks([])

플롯 표시

show를 사용하여 플롯을 표시합니다.

plt.show()

요약

이 튜토리얼에서는 Python 의 Matplotlib 라이브러리를 사용하여 곡선 아래 영역을 나타내는 음영 영역이 있는 간단한 선 플롯을 만드는 방법을 시연했습니다. 플롯에는 텍스트 레이블, 축 레이블, 사용자 정의 눈금 위치 및 레이블이 포함되었습니다. 이 튜토리얼에 설명된 단계를 따르면, 자신의 데이터에 대한 유사한 플롯을 만들 수 있습니다.