[python] 파이썬 pyplot 2차원 그래프 샘플 코드

예제 코드를 실행하기 위한 환경입니다.

라이브러리: matplotlib, numpy

IDE : Spyder


데이터를 포함하는 2개의 배열로부터 2차원 그래프를 생성하겠습니다. 아래는 샘플 데이터입니다.


파이썬 코드는 아래와 같습니다.


import matplotlib.pyplot as plt
import numpy as np

m = np.array([1.0, 2.0, 4.0, 6.0, 9.0, 11.0])
V = np.array([0.13, 0.26, 0.50, 0.77, 1.15, 1.36])

plt.plot(m, V, 'o')
plt.xlabel('m (kg)')
plt.ylabel('V (l)')
plt.show()


실행하게 되면 아래와 같은 그래프를 출력할 수 있습니다.


만약 아래와 같이 함수를 포함하는 데이터를 이용하여 그래프를 생성하는 경우를 다루어 보겠습니다.


함수의 입력값에 대한 수열과 각 입력값에 대한 출력값 수열을 생성하고 그래프를 생성하면 됩니다. 아래는 샘플 코드입니다.


import matplotlib.pyplot as plt
import numpy as np

x0 = 0.0
x1 = 10.0
dx = 0.1
n = 100

# x축 데이터용 n x 1 행렬을 만들고 0으로 초기화
x = np.zeros((n, 1), float)

# y축 데이터용 n x 1 행렬을 만들고 0으로 초기화
y = np.zeros((n, 1), float)

for i in range(n):
    x[i] = x0 + i*dx
    y[i] = np.sin(x[i])
    
plt.plot(x, y)
plt.show()


아래는 실행 결과입니다.


위 코드는 linspace 함수를 사용하면 보다 간결하게 작성할 수 있습니다.


import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()


끝.

댓글

이 블로그의 인기 게시물

[전기 기초] 전력공식 P=VI 유도

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

[PLC] PLC 아날로그 입출력 기본

제너 다이오드에 저항을 연결하는 이유

공압 속도 제어: 미터인 vs 미터아웃

공압회로 기호

[아두이노] 74HC595 시프트 레지스터 연동

[아두이노] LED에 220옴 저항을 사용하는 이유

3선 결선식 센서의 타입 PNP, NPN

[전기 기초] 저항의 정격전력(Watt) 표기의 의미