Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 그래프 플로팅

<시간/>

Python에는 matplotlib 라이브러리를 사용하여 그래프를 생성하는 기능이 있습니다. 여기에는 다양한 그래프와 플롯을 생성하는 수많은 패키지와 기능이 있습니다. 사용법도 매우 간단합니다. numpy 및 기타 파이썬 내장 함수와 함께 목표를 달성합니다. 이 기사에서는 생성할 수 있는 다양한 종류의 그래프를 살펴보겠습니다.

간단한 그래프

여기에서 그래프의 x 및 Y 좌표를 생성하는 수학 함수를 사용합니다. 그런 다음 matplotlib를 사용하여 해당 함수에 대한 그래프를 플로팅합니다. 여기에서 레이블을 적용하고 아래와 같이 그래프의 제목을 표시할 수 있습니다. 삼각 함수 tan에 대한 그래프를 플로팅하고 있습니다.

예시

from matplotlib import pyplot as plt
import numpy as np
import math #needed for definition of pi
x = np.arange(0, math.pi*2, 0.05)
y = np.tan(x)
plt.plot(x,y)
plt.xlabel("angle")
plt.ylabel("Tan value")
plt.title('Tan wave')
plt.show()

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Python의 그래프 플로팅

멀티플롯

여러 축을 만들고 프로그램에서 사용하여 단일 캔버스에 두 개 이상의 플롯을 가질 수 있습니다.

예시

import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
fig=plt.figure()
axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # main axes
axes2 = fig.add_axes([0.55, 0.55, 0.3, 0.3]) # inset axes
axes3 = fig.add_axes([0.2, 0.3, 0.2, 0.3]) # inset axes
axes1.plot(x, np.sin(x), 'b')
axes2.plot(x,np.cos(x),'r')
axes3.plot(x,np.tan(x),'g')
axes1.set_title('sine')
axes2.set_title("cosine")
axes3.set_title("tangent")
plt.show()

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Python의 그래프 플로팅

서브플롯의 그리드

각각이 서브플롯인 다른 그래프를 포함하는 그리드를 생성할 수도 있습니다. 이를 위해 우리는 함수 subplot2grid를 사용합니다. 여기에서 모든 서브플롯이 그리드에 맞도록 축을 신중하게 선택해야 합니다. 약간의 히트 dtrail이 필요할 수 있습니다.

예시

import matplotlib.pyplot as plt
a1 = plt.subplot2grid((3,3),(0,0),colspan = 2)
a2 = plt.subplot2grid((3,3),(0,2), rowspan = 3)
a3 = plt.subplot2grid((3,3),(1,0),rowspan = 2, colspan = 2)
import numpy as np
x = np.arange(1,10)
a2.plot(x, x*x,'r')
a2.set_title('square')
a1.plot(x, np.exp(x),'b')
a1.set_title('exp')
a3.plot(x, np.log(x),'g')
a3.set_title('log')
plt.tight_layout()
plt.show()

출력

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

Python의 그래프 플로팅

등고선 플롯

등고선 플롯(레벨 플롯이라고도 함)은 2차원 평면에 3차원 표면을 표시하는 방법입니다. y축에 두 개의 예측 변수 X Y와 등고선으로 응답 변수 Z를 그래프로 표시합니다. Matplotlib에는 각각 등고선과 채워진 등고선을 그리는 contour() 및 contourf() 함수가 포함되어 있습니다.

예시

import numpy as np
import matplotlib.pyplot as plt

xlist = np.linspace(-3.0, 3.0, 100)
ylist = np.linspace(-3.0, 3.0, 100)

X, Y = np.meshgrid(xlist, ylist)
Z = np.sqrt(X**2 + Y**2)

fig,ax=plt.subplots(1,1)
cp = ax.contourf(X, Y, Z)
fig.colorbar(cp) # Add a colorbar to a plot
ax.set_title('Filled Contours Plot')

#ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()

출력

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

Python의 그래프 플로팅