import matplotlib.pyplot as plt | pyplot 임포트 |
import numpy as np | numpy 임포트 (자주 사용) |
%matplotlib inline | Jupyter 인라인 표시 |
plt.style.use("seaborn") | 스타일 프리셋 사용 |
plt.rcParams["figure.figsize"] = [10, 6] | 기본 그림 크기 설정 |
plt.plot(x, y) | 기본 선 그래프 |
plt.plot(x, y, "r--") | 빨간 점선 |
plt.plot(x, y, "bo-") | 파란 원형 마커와 선 |
plt.plot(x, y, linewidth=2) | 선 두께 설정 |
plt.plot(x, y, label="data1") | 범례용 라벨 추가 |
plt.plot(x, y1, x, y2) | 여러 선 |
plt.show() | 플롯 표시 |
plt.savefig("plot.png") | PNG로 저장 |
plt.savefig("plot.pdf", dpi=300) | 고해상도 PDF 저장 |
plt.savefig("plot.svg", format="svg") | SVG로 저장 |
plt.close() | 그림 닫기 |
plt.scatter(x, y) | 산점도 |
plt.scatter(x, y, c=colors, s=sizes) | 색상과 크기 포함 |
plt.bar(x, height) | 수직 막대 차트 |
plt.barh(y, width) | 수평 막대 차트 |
plt.bar(x, h1, label="A"); plt.bar(x, h2, bottom=h1, label="B") | 누적 막대 |
plt.hist(data, bins=30) | 히스토그램 |
plt.hist(data, bins=30, density=True) | 정규화된 히스토그램 |
plt.hist2d(x, y, bins=30) | 2D 히스토그램 |
plt.boxplot(data) | 박스 플롯 |
plt.violinplot(data) | 바이올린 플롯 |
plt.pie(sizes, labels=labels) | 파이 차트 |
plt.pie(sizes, explode=[0,0.1,0,0]) | 분리된 파이 |
plt.fill_between(x, y1, y2) | 곡선 사이 채우기 |
plt.stackplot(x, y1, y2, y3) | 누적 영역 |
plt.contour(X, Y, Z) | 등고선 |
plt.contourf(X, Y, Z) | 채워진 등고선 |
plt.imshow(data, cmap="hot") | 히트맵/이미지 |
plt.pcolormesh(X, Y, Z) | 의사색 플롯 |
plt.colorbar() | 컬러바 추가 |
plt.xlabel("X axis") | X축 라벨 |
plt.ylabel("Y axis") | Y축 라벨 |
plt.title("Plot Title") | 플롯 제목 |
plt.suptitle("Super Title") | 그림 상위 제목 |
plt.legend() | 범례 표시 |
plt.legend(loc="upper right") | 범례 위치 |
plt.xlim(0, 10) | X 범위 설정 |
plt.ylim(-1, 1) | Y 범위 설정 |
plt.axis("equal") | 동일 종횡비 |
plt.axis("off") | 축 숨기기 |
plt.grid(True) | 그리드 표시 |
plt.grid(alpha=0.5, linestyle="--") | 스타일 그리드 |
plt.xticks([0,1,2], ["a","b","c"]) | 커스텀 X 눈금 |
plt.yscale("log") | 로그 스케일 |
color="red" or color="#FF0000" | 색상 설정 |
cmap="viridis" | 컬러맵 |
linestyle="-" or "--" or ":" or "-." | 선 스타일 |
marker="o" or "s" or "^" or "x" | 마커 스타일 |
alpha=0.5 | 투명도 |
plt.text(x, y, "text") | 텍스트 추가 |
plt.annotate("note", xy=(x,y), xytext=(x2,y2), arrowprops=dict(arrowstyle="->")) | 화살표와 주석 |
plt.axhline(y=0, color="k") | 수평선 |
plt.axvline(x=0, color="k") | 수직선 |
plt.axhspan(ymin, ymax, alpha=0.3) | 수평 영역 |
fig, ax = plt.subplots() | 단일 서브플롯 |
fig, axes = plt.subplots(2, 3) | 2x3 서브플롯 그리드 |
fig, axes = plt.subplots(2, 2, figsize=(10, 8)) | 그림 크기 포함 |
axes[0, 1].plot(x, y) | 특정 서브플롯에 그리기 |
plt.subplot(2, 2, 1) | 서브플롯 선택 (1부터) |
plt.tight_layout() | 자동 간격 조정 |
plt.subplots_adjust(hspace=0.5, wspace=0.3) | 수동 간격 |
fig, axes = plt.subplots(2, 2, sharex=True) | X축 공유 |
ax2 = ax1.twinx() | 보조 Y축 |
fig = plt.figure(figsize=(10, 6)) | 그림 생성 |
ax = fig.add_subplot(111) | 서브플롯 추가 |
ax.plot(x, y) | 축에 그리기 |
ax.set_xlabel("X") | X 라벨 설정 |
ax.set_title("Title") | 제목 설정 |
ax.legend() | 범례 표시 |
from mpl_toolkits.mplot3d import Axes3D | 3D 툴킷 임포트 |
ax = fig.add_subplot(111, projection="3d") | 3D 축 생성 |
ax.plot3D(x, y, z) | 3D 선 플롯 |
ax.scatter3D(x, y, z) | 3D 산점도 |
ax.plot_surface(X, Y, Z, cmap="viridis") | 3D 표면 |
ax.plot_wireframe(X, Y, Z) | 3D 와이어프레임 |
from matplotlib.animation import FuncAnimation | 애니메이션 임포트 |
ani = FuncAnimation(fig, update, frames=100) | 애니메이션 생성 |
ani.save("anim.gif", writer="pillow") | GIF로 저장 |
ani.save("anim.mp4", writer="ffmpeg") | MP4로 저장 |