크게, 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()
'Visualization' 카테고리의 다른 글
seaborn) 기본 요소 (이걸 중심으로 기억하자) (1) | 2024.12.29 |
---|---|
matplotlib.pyplot) 히스토그램에서 밀도추정을 통해 연속적으로 표현하고 싶을 때. (0) | 2024.12.28 |
Streamlit. 캐시(cache)에 대해 (0) | 2024.08.14 |
Streamlit Share. 비밀번호 관리 (0) | 2024.08.13 |
태블로 대시보드 - TikTok Data by Kaggle (0) | 2024.05.22 |