figures — 출판 품질의 gnuplot 도표 생성 스킬
자연어 요청과 하나 이상의 데이터 파일을 입력받아 그룹 하우스 스타일이 적용된 논문 준비 완료 PDF 도표를 생성합니다. 일반적인 자성체 물리 도표 유형, 선택 가능한 컬러 스킴, 저널 및 프레젠테이션 스타일링을 지원합니다.
사전 요구 사항
gnuplot(v6+) — 도표 엔진.pdfcairo를 통해 PDF를 직접 렌더링합니다.pdftoppm(poppler) — 출력 PDF를 PNG로 변환하여 도표를 시각적으로 확인하고 반복 개선합니다. 항상 결과물을 육안으로 확인하세요.
스타일/컬러 로드 방법 — GNUPLOT_LIB (중요)
스크립트는 공유 스타일 파일을 이름만으로 로드합니다 (예: load "nature.journal", load "bluegold.colour"). gnuplot은 GNUPLOT_LIB 검색 경로를 통해 이 파일들을 찾습니다. 항상 GNUPLOT_LIB이 이 스킬의 styles/ 및 colours/ 디렉터리를 가리키도록 설정한 상태에서 gnuplot을 실행하세요:
아래 SKILL_DIR은 이 스킬 디렉터리 자체의 절대 경로입니다 (이 SKILL.md를 포함하는 디렉터리, 예: 개인 설치 시 ~/.claude/skills/figures, 개발 중이면 리포지토리 경로). 실제 경로로 바꿔 사용하세요:
SKILL_DIR="/absolute/path/to/figures" # 이 SKILL.md가 있는 디렉터리
export GNUPLOT_LIB="$SKILL_DIR/styles:$SKILL_DIR/colours"
gnuplot myfigure.gpl # 데이터가 있는 디렉터리에서 실행
경로를 스크립트 밖으로 분리하면 스크립트가 이식 가능해지고, 스타일 파일을 변경하면 해당 스타일을 로드하는 모든 도표에 변경 사항이 자동으로 반영됩니다.
작업 흐름
- 요청에서 도표 유형을 식별합니다 (
references/figure-types.md참조): 히스테리시스 M(H), 자화 M(T), 시계열 M(t) 또는 기타. 각 유형마다 복사하여 사용할 표준 예제 스크립트가 있습니다. - 데이터를 검사합니다. 파일을 열어보고: 주석 라인(
#)을 제거하고, 컬럼 수를 세고, 범위를 확인합니다. x와 y 컬럼을 매핑합니다. VAMPIRE 출력 파일은#주석 헤더가 있는 일반 공백 분리 컬럼입니다. 데이터와 함께 VAMPIRE 입력 파일이 있다면output:키워드가 컬럼 순서를 정의하므로 이를 읽어 컬럼 레이블을 올바르게 지정합니다. 그렇지 않으면 데이터를 일반 컬럼으로 처리하고 사용자에게 모호한 매핑을 확인합니다. - 일치하는 예제를
examples/<type>/에서 복사하여 시작점으로 삼고 다음 항목을 적용합니다: 데이터 파일명,using컬럼, 축 레이블 + 단위, 축 범위 (padlo/padhi또는lpadlo/lpadhi를 사용하여 첫 번째와 마지막 주요 틱에서 양쪽으로 5 % 여유를 둠,references/conventions.md참조), 범례 레이블, 피팅. - 스타일과 컬러 스킴을 선택합니다 (기본값은 아래에 있음, 명시적 요청이 있다면 우선). 스크립트 상단에 두 개의
load라인을 추가하여 설정합니다. GNUPLOT_LIB을 설정한 상태에서 렌더링하여 PDF를 생성합니다.- 출력물을 확인합니다:
pdftoppm -png -r 150 out.pdf preview로 변환하고 PNG를 읽습니다. 잘린 레이블, 범례 겹침, 틱 밀도, 색상 대비를 확인합니다. 깔끔해질 때까지 스크립트를 반복 개선합니다. .gpl스크립트와 PDF를 반환합니다. 도표는 스크립트와 데이터만으로 재현 가능해야 합니다.
기본값
- 스타일:
nature.journal(86 mm 단일 컬럼, Helvetica, 인쇄 준비 완료). - 컬러 스킴:
bluegold.colour(기본 하우스 스타일). - 출력:
pdfcairo를 통한 PDF (EPS→PDF 파이프라인 사용 금지).
스타일 (styles/)
| 파일 | 용도 |
|---|---|
nature.journal | 기본값. 2-컬럼 저널용 단일 컬럼 너비(86 mm); 밝은 배경, Helvetica. |
inverted.journal | 짙은 회색 배경, 밝은 전경 — 어두운 슬라이드/웹. |
presentation.journal | Avenir Next, 큰 캔버스 — 프로젝션 발표 슬라이드. |
presentation-dark.journal | 어두운 배경의 프레젠테이션 스타일. |
컬러 스킴 (colours/)
기본값: bluegold — 다른 스킴이 요청되지 않는 한 사용됩니다.
순차/지각적 (matplotlib 및 MATLAB 계열): viridis, magma, inferno, plasma, cividis (색맹 안전), parula.
발산형: bluegold, skyrmion (navy → 흰색 → 빨간색, s_z와 같은 부호 있는 양용), RdYlBu.
단일 색조: purple.
무지개: turbo (개선형), jet (비권장 — 지각적으로 균일하지 않음).
각 스킴은 개별 라인 스타일 ls 1–ls 8과 연속 pm3d 팔레트를 정의합니다. 각 스킴의 사용 시기와 밝음/어두움 조합은 references/colour-schemes.md를 참조하세요.
도표 유형 및 예제
표준화되고 주석이 포함된 실행 가능한 스크립트는 examples/ 디렉터리에 있습니다:
examples/mvsH/MH.gpl— 히스테리시스 루프 M(H), 0축 가이드라인 포함.examples/mvsT/mvsT.gpl— 자화 M(T) 곡선, Curie–Bloch 피팅 포함.examples/mvstime/mvstime.gpl— 다중 곡선 소자화 시계열 (합성 데이터,make_data.py로 재생성).examples/anisotropy-surface/3D.gpl— 3D 에너지 표면: gnuplot 내부에서 합성된 래스터 컬러 + 벡터 축 (작고 빠른 PDF, 외부 도구 불필요).
참고 자료
references/conventions.md— 하우스 도표 규칙 (레이블, 단위, 틱, 범례, 피팅, enhanced-text 구문).references/figure-types.md— 유형별 레시피 및 컬럼 매핑.references/colour-schemes.md— 컬러 스킴 카탈로그 및 선택 가이드.