크게, 1) 그래프 생성 2) 꾸미기 3) 그래프 출력

 

이렇게 나눠서 생각하면 편하다.

 

1. 그래프 생성

 

1) 선 그래프

plt.plot(x, y)

 

 

2) 막대그래프

plt.bar(['A', 'B', 'C'], [10, 20, 30])

 

 

 

3) Scatter Plot

plt.scatter(x, y)

 

 

4) 히스토그램

data = np.random.randn(1000) 
plt.hist(data, bins=30)

 

 

2. 꾸미기

plt.title('Sine Wave Example')  # 제목 추가
plt.xlabel('X-axis')           # x축 레이블
plt.ylabel('Y-axis')           # y축 레이블
plt.grid(True)                 # 격자 추가
plt.legend()                   # 범례 추가

 

꾸미기는 옵션이 많다. 필요한 걸 구글링 해보자. 

 

 

3. 그래프 출력

plt.show()  # 그래프 표시

 

 

4. 여러 그래프 그리기(약간 심화)

 

4-1) 한 축에 여러 그래프 그리기

import matplotlib.pyplot as plt
import numpy as np

# 데이터 준비
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

# 한 축에 여러 그래프
plt.plot(x, y1, label='Sine')   # 첫 번째 그래프
plt.plot(x, y2, label='Cosine') # 두 번째 그래프
plt.plot(x, y3, label='Tangent') # 세 번째 그래프

# 옵션 추가
plt.title('Multiple Graphs in One Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.legend()
plt.grid(True)
plt.ylim(-2, 2)  # y축 제한 (필수: tan 그래프 값이 커짐 방지)

plt.show()

 

따로 할 건 없고, plt.plot을 연달아 사용하면 된다.

 

4-2) 그리드를 만들고, 각 셀에 그래프 배치

 

방법 1)

import matplotlib.pyplot as plt
import numpy as np

# 데이터 준비
x = np.linspace(0, 10, 100)

fig, axes = plt.subplots(2, 2, figsize=(10, 8))  # 2행 2열

# 첫 번째 셀
axes[0, 0].plot(x, np.sin(x))
axes[0, 0].set_title('Sine Wave')

# 두 번째 셀
axes[0, 1].plot(x, np.cos(x))
axes[0, 1].set_title('Cosine Wave')

# 세 번째 셀
axes[1, 0].plot(x, np.tan(x))
axes[1, 0].set_title('Tangent Wave')
axes[1, 0].set_ylim(-2, 2)  # y축 제한

# 네 번째 셀
axes[1, 1].scatter(x, np.sin(x) * np.cos(x))
axes[1, 1].set_title('Scatter Plot')

# 레이아웃 조정
plt.tight_layout()  # 그래프 간 간격 자동 조정
plt.show()

각 셀에서 따로 꾸미기를 해줄 수 있다.

 

방법 2) 

plt.subplot(1, 2, 1)  # 1행 2열의 첫 번째
plt.plot(x, y)

plt.subplot(1, 2, 2)  # 두 번째
plt.plot(x, np.cos(x))

plt.show()

 

HardConcentrator