matplotlib-seaborn-to-matlab은(는) 무엇을 하나요?
Matplotlib 및 Seaborn 시각적 참조를 독립적인 MATLAB 발행용 그림으로 변환하는 Codex 스킬입니다.
개요
이 스킬은 사용자가 제공한 Matplotlib 또는 Seaborn 시각화를 분석하여, 동일한 시각적 표현을 생성하는 MATLAB 코드를 자동으로 생성합니다. 원본 플롯의 스타일, 데이터, 레이아웃을 보존하며, 발행 품질에 적합한 MATLAB 그림(figure)을 생성하는 것이 목적입니다. 변환은 로컬 환경에서 이루어지며, 추가적인 종속성을 요구하지 않습니다.
주요 기능
- Matplotlib → MATLAB 변환:
matplotlib.pyplot의 일반적인 플롯 유형(plot,scatter,bar,hist,contour,imshow등)을 MATLAB의 해당 함수로 변환합니다. - Seaborn → MATLAB 변환: Seaborn의 스타일링(
darkgrid,whitegrid,ticks등)과 플롯 유형(lmplot,boxplot,heatmap,pairplot기본 요소 등)을 MATLAB 스타일링 및 함수로 변환합니다. - 발행 품질 스타일링: 글꼴 크기, 선 두께, 컬러맵, 범례 위치, 축 레이블, 그리드, 타이틀 등 발행 품질에 맞는 세부 설정을 자동으로 적용합니다.
- 데이터 보존: 원본 플롯의 데이터 포인트, 통계 요약(예: 박스 플롯의 사분위수), 히트맵 값 등을 MATLAB 변수로 보존하여 추가 분석이 가능합니다.
- 독립형 MATLAB 스크립트: 변환 결과는 MATLAB에서 직접 실행 가능한
.m파일 또는 코드 블록으로 제공됩니다.
사용 예시
입력 (Matplotlib)
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y, label='sin(x)')
plt.xlabel('x')
plt.ylabel('sin(x)')
plt.title('Sine Wave')
plt.legend()
plt.grid(True)
plt.show()
출력 (MATLAB)
x = linspace(0, 10, 100);
y = sin(x);
figure;
plot(x, y, 'DisplayName', 'sin(x)');
xlabel('x');
ylabel('sin(x)');
title('Sine Wave');
legend('show');
grid on;
지원 환경
- 플랫폼: Codex 에이전트 (Cursor, Claude Code 등)
- 출력: MATLAB R2019b 이상 호환
- 입력 형식: Matplotlib/Seaborn Python 코드, 또는 이미지 설명을 통한 시각적 참조 (설명 기반 변환의 경우 정확도가 제한적일 수 있음)
제한 사항
- 복잡한 Seaborn 다중 패널 플롯(e.g.,
FacetGrid,PairGrid)은 기본적인 레이아웃으로 변환됩니다. - 사용자 정의 Matplotlib 컬러맵은 MATLAB의 내장 컬러맵으로 매핑됩니다 (가장 가까운 일치).
- 애니메이션은 지원되지 않습니다.
시작하기
- Codex 에이전트가 활성화된 환경(예: Cursor, Claude Code)에서 이 스킬을 활성화합니다.
- 변환하려는 Matplotlib/Seaborn 코드를 선택하거나 이미지를 설명합니다.
- "Convert to MATLAB" 또는 유사한 명령을 입력합니다.
- 생성된 MATLAB 코드를 복사하여 MATLAB 환경에서 실행합니다.
라이선스
MIT License