소개
이 랩에서는 Python 의 Matplotlib 을 사용하여 데이터 포인트를 갖는 선 그래프를 만드는 방법을 배웁니다. 각 곡선에 대해 Matplotlib 의 EventCollection 클래스를 사용하여 각 축에 x 및 y 데이터 포인트의 위치를 표시합니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.
필요한 라이브러리 가져오기
먼저, 필요한 라이브러리를 가져와야 합니다. 무작위 데이터를 생성하기 위해 numpy를 사용하고, 그래프를 생성하기 위해 matplotlib.pyplot을 사용하며, 데이터 포인트의 위치를 표시하기 위해 matplotlib.collections에서 EventCollection을 사용합니다.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import EventCollection
무작위 데이터 생성
numpy.random.random() 함수를 사용하여 두 곡선에 대한 무작위 데이터를 생성합니다. 0 과 1 사이의 10 개의 무작위 숫자 두 세트를 생성하여 배열에 저장합니다.
## create random data
xdata = np.random.random([2, 10])
데이터 정렬
깔끔한 곡선을 만들기 위해 sort() 메서드를 사용하여 데이터를 정렬합니다.
## split the data into two parts
xdata1 = xdata[0, :]
xdata2 = xdata[1, :]
## sort the data so it makes clean curves
xdata1.sort()
xdata2.sort()
y 데이터 포인트 생성
정렬된 x 데이터 포인트에 대해 몇 가지 수학적 연산을 수행하여 각 곡선에 대한 y 데이터 포인트를 생성합니다.
## create some y data points
ydata1 = xdata1 ** 2
ydata2 = 1 - xdata2 ** 3
플롯 생성
matplotlib.pyplot.plot() 함수를 사용하여 플롯을 생성합니다.
## plot the data
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.plot(xdata1, ydata1, color='tab:blue')
ax.plot(xdata2, ydata2, color='tab:orange')
이벤트 생성
EventCollection() 함수를 사용하여 x 및 y 데이터 포인트를 표시하는 이벤트를 생성합니다.
## create the events marking the x data points
xevents1 = EventCollection(xdata1, color='tab:blue', linelength=0.05)
xevents2 = EventCollection(xdata2, color='tab:orange', linelength=0.05)
## create the events marking the y data points
yevents1 = EventCollection(ydata1, color='tab:blue', linelength=0.05,
orientation='vertical')
yevents2 = EventCollection(ydata2, color='tab:orange', linelength=0.05,
orientation='vertical')
플롯에 이벤트 추가
matplotlib.pyplot.add_collection() 함수를 사용하여 플롯에 이벤트를 추가합니다.
## add the events to the axis
ax.add_collection(xevents1)
ax.add_collection(xevents2)
ax.add_collection(yevents1)
ax.add_collection(yevents2)
제한 설정 및 제목 추가
matplotlib.pyplot.xlim(), matplotlib.pyplot.ylim(), 및 matplotlib.pyplot.title() 함수를 사용하여 x 및 y 축의 제한을 설정하고 플롯에 제목을 추가합니다.
## set the limits
ax.set_xlim([0, 1])
ax.set_ylim([0, 1])
ax.set_title('line plot with data points')
플롯 표시
마지막으로, matplotlib.pyplot.show() 함수를 사용하여 플롯을 표시합니다.
## display the plot
plt.show()
요약
이 랩에서는 Python 의 Matplotlib 을 사용하여 데이터 포인트가 있는 선 그래프를 만드는 방법을 배웠습니다. Matplotlib 의 EventCollection 클래스를 사용하여 각 곡선에 대한 x 및 y 데이터 포인트의 위치를 각 축에 표시했습니다.