sci-paper-plot-skill은(는) 무엇을 하나요?
SCI 논문용 출판 준비가 완료된 그래프, 비선형 동역학 및 머신러닝을 위한 Matplotlib 템플릿을 제공하는 이중언어 플로팅 스킬입니다.
개요
이 스킬은 연구자와 엔지니어가 Matplotlib을 사용하여 SCI 논문 수준의 그래프를 빠르게 생성할 수 있도록 설계되었습니다. 비선형 동역학 시스템(로렌츠 어트랙터, 위상 평면 등)과 머신러닝 결과(손실 곡선, 혼동 행렬 등)의 시각화를 지원합니다.
주요 기능
- 출판 준비 완료: SCI 논문 표준에 맞춘 타이포그래피, 축 레이블, 범례 및 색상 팔레트
- 이중언어 지원: 한국어 및 영어 그래프 요소 지원
- 템플릿 기반: 빠른 생성을 위한 사전 정의된 Matplotlib 스타일시트와 템플릿
- 비선형 동역학: 로렌츠 시스템, 위상 평면, 분기 다이어그램 등
- 머신러닝: 학습 곡선, 혼동 행렬, ROC 곡선, 특징 중요도 등
지원 플랫폼
- Claude Code
- Cursor
- Codex
- 기타 AI 에이전트
시작하기
설치
필요 라이브러리를 설치합니다:
pip install matplotlib numpy scipy scikit-learn
기본 사용법
import matplotlib.pyplot as plt
import numpy as np
# 스타일시트 로드 (템플릿 경로에 따라 조정)
# plt.style.use('path/to/sci_style.mplstyle')
# 예제: 로렌츠 시스템 플롯
from scipy.integrate import solve_ivp
def lorenz(t, state, sigma, rho, beta):
x, y, z = state
dx = sigma * (y - x)
dy = x * (rho - z) - y
dz = x * y - beta * z
return [dx, dy, dz]
# 초기 조건 및 파라미터
initial_state = [1.0, 1.0, 1.0]
sigma, rho, beta = 10.0, 28.0, 8.0/3.0
# 적분
t_span = (0, 40)
t_eval = np.linspace(0, 40, 10000)
solution = solve_ivp(lorenz, t_span, initial_state, args=(sigma, rho, beta), t_eval=t_eval, method='RK45')
# 플롯 생성
fig = plt.figure(figsize=(10, 7))
ax = fig.add_subplot(111, projection='3d')
ax.plot(solution.y[0], solution.y[1], solution.y[2], lw=0.5, color='steelblue')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('Lorenz Attractor')
plt.tight_layout()
plt.savefig('lorenz_attractor.png', dpi=300)
plt.show()
머신러닝 플롯 예제
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
import matplotlib.pyplot as plt
# 예제 데이터
y_true = [0, 1, 0, 1, 0, 1, 0, 1]
y_pred = [0, 1, 0, 0, 0, 1, 1, 1]
# 혼동 행렬
cm = confusion_matrix(y_true, y_pred)
disp = ConfusionMatrixDisplay(confusion_matrix=cm)
disp.plot(cmap='Blues')
plt.title('Confusion Matrix')
plt.savefig('confusion_matrix.png', dpi=300)
plt.show()
템플릿 스타일시트
styles/ 디렉토리에서 사용 가능한 스타일시트:
sci_paper.mplstyle: 기본 SCI 논문 스타일sci_paper_zh.mplstyle: 중국어 지원 스타일 (참고용)sci_paper_kr.mplstyle: 한국어 지원 스타일
사용자 정의 스타일시트를 만들거나 기존 스타일시트를 수정할 수 있습니다.
기여
기여는 언제나 환영합니다! 버그를 발견하거나 새로운 템플릿을 제안하려면 이슈를 열거나 풀 리퀘스트를 보내주세요.
라이선스
이 프로젝트는 MIT 라이선스 하에 배포됩니다.