
🧱 1️⃣ matplotlib은 “도구 상자 전체”
import matplotlib as plt
→ 이건 도구 상자 전체를 불러온 거예요.
하지만 이 안에는 여러 종류의 하위 도구들이 들어있어요.
예를 들어:
- matplotlib.pyplot : 그래프를 그리는 도구
- matplotlib.colors : 색상 관련 도구
- matplotlib.font_manager : 글꼴 관리 도구
즉, 전체 패키지를 가져왔지만, 그래프를 그릴 도구(붓) 는 꺼내지 않은 상태예요.
그래서 아래처럼 쓰면 오류가 납니다:
import matplotlib as plt
plt.plot([1, 2, 3]) # ❌ plot()은 없음
🎨 2️⃣ matplotlib.pyplot은 “그래프 그리는 하위 도구”
import matplotlib.pyplot as plt
→ 이건 “도구 상자 중 그래프 그리는 부분만 꺼내서 쓰겠다”는 뜻이에요.
즉, 붓만 손에 쥔 거예요 🎨
이제 이렇게 쓸 수 있습니다:
plt.plot([1, 2, 3])
plt.show()
→ ✅ 정상 작동! 그래프가 화면에 나옵니다.
⚙️ 3️⃣ 그림으로 보면 이렇게 돼요
matplotlib
├── pyplot ← 그래프 그리기용 도구
├── colors
├── font_manager
└── ...
- import matplotlib as plt → “matplotlib 전체”
→ 도구상자만 열었지, 아직 어떤 도구를 쓸지 지정 안 함 - import matplotlib.pyplot as plt → “pyplot 부분만 가져오기”
→ 그래프용 도구를 직접 꺼내 사용 가능
✨ 요약
| 구분 | 설명 | 사용 가능 함수 |
| import matplotlib as plt | 전체 패키지(도구상자) 불러옴 | X (plot() 등 불가) |
| import matplotlib.pyplot as plt | 그래프용 모듈만 불러옴 | ✅ plot(), show(), bar() 등 가능 |
__________________________________________________________
✅ 1️⃣ import matplotlib as plt
- 이건 matplotlib 전체 패키지를 plt라는 이름으로 불러오는 거예요.
- 하지만 matplotlib는 상위 모듈이라, 이 상태에서는 바로 그래프를 그릴 수 없습니다.
import matplotlib as plt
plt.plot([1, 2, 3], [4, 5, 6]) # ❌ 오류남
matplotlib는 큰 패키지고, 실제 그래프를 그리는 기능은 그 안의 **하위 모듈 pyplot**에 들어 있습니다.
즉, matplotlib.plot()은 존재하지 않아요.
✅ 2️⃣ import matplotlib.pyplot as plt
- 이게 우리가 흔히 쓰는 정상적인 방식입니다.
- matplotlib.pyplot은 실제로 그래프를 그리는 함수들이 들어 있는 모듈이에요.
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6]) # ✅ 정상 작동
plt.show()
⚙️ 3️⃣ 차이 정리표
| 구분 | import matplotlib as plt | import matplotlib.pyplot as plt |
| 불러오는 범위 | matplotlib 패키지 전체 | matplotlib의 하위 모듈 pyplot |
| 사용 가능 함수 | 없음 (그래프 불가) | plot(), show(), scatter() 등 그래프 함수 사용 가능 |
| 주 용도 | 패키지 버전 확인, 설정 | 그래프 그리기 |
| 예시 | plt.__version__ | plt.plot(x, y) |
✨ 결론
👉 matplotlib는 “그래프 도구상자 전체”,
👉 matplotlib.pyplot은 “그래프를 실제로 그리는 도구 모음”이에요.
그래서 **그래프를 그릴 땐 반드시 import matplotlib.pyplot as plt**를 써야 합니다.
'데이터 분석' 카테고리의 다른 글
| 인공지능 편향(bias) 이해하기 위한 예시 (0) | 2025.10.18 |
|---|---|
| Barplot 표 예시 설명(+ 배송 소요 시간 예측) (1) | 2025.10.16 |
| Keras Sequential 모델에서 input_shape를 써야 하는 이유 — 한눈에 보는 차이와 구조 비교 (0) | 2025.10.16 |
| UserWarning: X has feature names 경고 해결법 — StandardScaler 사용 시 꼭 알아야 할 포인트 (0) | 2025.10.16 |
| Boxplot 예시를 통해 설명(+ 장바구니 이탈 여부 예측 문제) (0) | 2025.10.15 |