.3. 그래프 작성의 도(道)
논문의 본질은 연구자가 발견한 새로운 지식과 통찰을 학술 공동체에 전달하는 데 있다. 그러나 아무리 뛰어난 알고리즘과 혁신적인 로봇 제어 이론을 개발했다 하더라도, 이를 독자에게 효과적으로 전달하지 못하면 그 연구는 사장되고 만다. 특히, 데이터가 모든 주장의 근거가 되는 인공지능(AI)과 로봇 공학 분야에서 **그래프(Figure)**는 텍스트보다 더 강력하고 직관적인 전달 수단이다. 리뷰어들은 수천 단어의 텍스트를 정독하기 전에 먼저 그림을 훑어보며 논문의 가치를 가늠한다.1 그래프는 연구의 ’얼굴’이며, 저자가 데이터를 얼마나 꼼꼼하고 정직하게 다루었는지를 보여주는 척도다.
따라서 그래프 작성은 단순한 데이터의 나열이나 미적인 치장이 아니다. 그것은 연구의 논리를 시각적으로 증명하는 수사학적 행위이자, 데이터의 무결성을 입증하는 엄밀한 과학적 프로세스여야 한다. 본 장(Chapter 3.3)에서는 CVPR, NeurIPS, ICRA, IROS 등 최고 권위의 학회에 게재되는 논문들이 갖춰야 할 그래프 작성의 철학적 원칙부터 기술적 구현의 세부 사항까지, 연구자가 반드시 숙지해야 할 ’그래프 작성의 도(道)’를 해라체로 상세히 기술한다. 우리는 시각적 스토리텔링의 미학에서 출발하여, 출판 품질을 결정짓는 기술적 사양, 색채의 과학, 그리고 분야별 특화된 시각화 전략을 거쳐 연구 윤리에 이르기까지, 그래프라는 창을 통해 연구의 진실을 드러내는 방법을 탐구할 것이다.
1. 시각적 스토리텔링과 첫인상의 미학
논문 심사 과정은 치열하다. 리뷰어들은 제한된 시간 내에 다수의 논문을 평가해야 하며, 그들의 인지적 자원은 한정되어 있다. 심리학적 관점에서 볼 때, 인간의 뇌는 텍스트보다 시각 정보를 훨씬 빠르게 처리한다. 따라서 그래프는 독자의 인지 부하(Cognitive Load)를 줄여주는 핵심 도구여야 한다.2 잘 설계된 그래프는 복잡한 수식이나 장황한 설명을 읽지 않고도 논문의 핵심 기여(Contribution)를 파악하게 해준다. 반면, 조잡하거나 혼란스러운 그래프는 리뷰어에게 “이 저자는 커뮤니케이션 능력이 부족하거나, 연구 결과에 자신이 없다“는 부정적인 신호를 보낸다.3
1.1 데이터 시각화의 본질: 정보의 압축과 왜곡 방지
시각화는 복잡한 데이터셋을 탐색적 데이터 분석(EDA)을 통해 패턴을 발견하고, 가설을 검증하며, 최종적으로는 독자를 설득하는 도구다.4 텍스트가 선형적(Linear) 정보 전달 방식이라면, 그래프는 병렬적(Parallel) 정보 처리를 가능하게 한다. 수천 개의 에포크(Epoch) 동안 변화하는 손실(Loss) 값이나, 3차원 공간에서 움직이는 로봇의 궤적을 텍스트로 나열하는 것은 불가능하다. 오직 그래프만이 이러한 고차원 정보를 2차원 평면에 압축하여 전달할 수 있다.
그러나 ’압축’은 필연적으로 정보의 손실을 동반한다. 훌륭한 시각화는 중요한 신호(Signal)는 보존하고 무의미한 잡음(Noise)은 제거하는 과정이다. 이 과정에서 가장 경계해야 할 것은 ’왜곡(Distortion)’이다. 잘못된 스케일 설정, 부적절한 차트 유형 선택, 혹은 과도한 단순화는 독자의 오해를 불러일으키거나, 연구자가 의도치 않게 데이터를 조작했다는 의심을 사게 한다.5 따라서 좋은 그래프는 다음과 같은 세 가지 핵심 가치를 충족해야 한다.
- 명료성(Clarity): 데이터가 말하고자 하는 메시지가 즉각적으로 전달되어야 한다. 그래프를 해석하기 위해 캡션을 여러 번 읽어야 한다면 그 그래프는 실패한 것이다. 불필요한 장식(Chartjunk), 과도한 격자선, 난해한 범례는 제거해야 한다. 단순함이 곧 명료함이다.
- 정직성(Integrity): 축(Axis)의 스케일 조작이나 데이터의 체리 피킹(Cherry-picking) 없이 결과의 불확실성(Uncertainty)까지 투명하게 보여주어야 한다.7 딥러닝 모델의 성능이 시드(Seed) 값에 따라 달라진다면, 그 변동성(Variance)을 숨기지 말고 드러내는 것이 과학적 정직성이다.8
- 심미성(Aesthetics): 전문적인 색상 배합, 균형 잡힌 레이아웃, 적절한 폰트 사용을 통해 ‘출판 가능한(Publication-quality)’ 품질을 갖춰야 한다.9 심미성은 단순한 꾸밈이 아니다. 잘 정돈된 디자인은 독자가 데이터에 집중하게 만드는 기능적 요소다.
1.2 시각적 위계와 스토리텔링의 구조
논문의 그래프들은 개별적으로 존재하지 않고, 논문 전체의 서사를 이끄는 이정표 역할을 해야 한다.11 각 그래프는 논문의 특정 섹션과 유기적으로 연결되어야 하며, 전체적으로 하나의 완결된 이야기를 구성해야 한다.
| 그래프 유형 | 역할 및 위치 | 핵심 목표 | CVPR/ICRA 트렌드 |
|---|---|---|---|
| Teaser Figure | 1페이지 상단 | 문제 정의 및 해결책의 직관적 제시 | 고해상도 렌더링, 전후(Before/After) 비교, 개념적 도식화12 |
| System Overview | 방법론(Method) 섹션 | 알고리즘 파이프라인 및 데이터 흐름 설명 | 입력에서 출력까지의 흐름을 왼쪽→오른쪽으로 배치, 모듈화된 블록 다이어그램 |
| Qualitative Results | 실험(Experiments) 섹션 | 시각적 결과물 비교 (이미지, 궤적 등) | 확대(Zoom-in) 박스 활용, 오차 맵(Error map) 동반 표시 |
| Quantitative Results | 실험(Experiments) 섹션 | 성능 지표(정확도, 속도 등)의 통계적 입증 | 학습 곡선(Learning Curve), 바 차트, 파레토 프론티어(Pareto Frontier) |
| Ablation Studies | 분석(Analysis) 섹션 | 각 구성 요소의 기여도 분석 | 워터폴 차트, 누적 막대 그래프, 히트맵 |
Teaser Figure의 중요성: 최근 CVPR이나 ICRA와 같은 톱 티어 학회에서는 1페이지 상단에 위치한 Teaser Figure가 논문의 첫인상을 결정짓는 중요한 요소로 자리 잡았다.13 이 그림은 단순히 “예쁜 그림“이어서는 안 된다. 독자가 캡션을 읽기 전에 “아, 이 논문은 기존 방법의 문제점인 X를 Y라는 방식으로 해결해서 Z와 같은 결과를 얻었구나“를 직관적으로 이해할 수 있어야 한다. 복잡한 수식보다는 개념적인 도식이나, 극적인 성능 향상을 보여주는 비교 이미지가 선호된다.
2. 출판 품질(Publication-Quality)을 위한 기술적 표준
학회마다 요구하는 그래프의 기술적 사양은 매우 엄격하다. IEEE(ICRA, IROS, CVPR)와 NeurIPS는 폰트, 선 굵기, 파일 형식 등에 대해 구체적인 가이드라인을 제시하고 있으며, 이를 위반할 경우 심사 단계에서 불이익을 받거나 출판 단계에서 수정 요청(Camera-ready 수정)을 받게 된다.15 “내 모니터에서는 잘 보인다“는 핑계는 통하지 않는다. 인쇄된 종이와 다양한 해상도의 디스플레이 환경을 모두 고려해야 한다.
2.1 벡터 그래픽과 래스터 그래픽의 엄격한 구분
그래프는 원칙적으로 벡터 그래픽(Vector Graphics) 형식인 PDF나 EPS, SVG로 저장해야 한다.18 벡터 방식은 수학적 수식으로 선과 면을 정의하기 때문에, 1000% 확대를 해도 깨지지 않으며, 파일 용량이 작고, 무엇보다 텍스트 검색이 가능하다.
- PDF/EPS: LaTeX 컴파일러(
pdflatex)와 호환성이 가장 좋으며, 논문 제출 시 표준으로 사용되는 포맷이다. 파이썬 Matplotlib에서plt.savefig('figure.pdf')와 같이 저장한다. - PNG/JPG (래스터): 사진(입력 이미지, 결과 이미지)이나 수만 개의 점이 찍힌 복잡한 산점도(Scatter plot), 3D 렌더링 결과와 같이 벡터로 표현하기에 비효율적이거나 파일 크기가 너무 커지는 경우에만 제한적으로 사용한다. 이때 해상도(DPI)는 최소 300 DPI, 권장은 600 DPI 이상이어야 인쇄 시 흐릿해지지 않는다.19
2.2 타이포그래피: 폰트와 크기의 과학
그래프 내의 텍스트는 본문 텍스트와 이질감이 없어야 한다. 가장 흔한 실수는 파이썬이나 엑셀의 기본 폰트를 그대로 사용하는 것이다.
- 폰트 종류: IEEE 논문은 본문으로 Times New Roman을 사용한다. 따라서 그래프 내의 축 제목, 범례, 주석 등도 세리프(Serif) 계열인 Times New Roman을 사용하거나, 가독성을 극대화하기 위해 깔끔한 산세리프(Sans-serif) 계열인 Helvetica나 Arial을 사용한다.17 중요한 것은 논문 전체에서의 ’일관성(Consistency)’이다. 어떤 그래프는 굴림체고 어떤 그래프는 고딕체라면, 이는 논문의 완성도를 심각하게 저해한다.
- 폰트 크기: 가장 중요한 원칙은 **“논문에 삽입되었을 때의 실제 크기”**를 기준으로 폰트 사이즈를 설정하는 것이다. 논문의 1단(Single column) 너비는 약 3.5인치(88.9mm), 2단(Double column) 너비는 약 7.16인치(182mm)다.19 그래프를 이 크기로 축소했을 때, 글자 크기가 본문 캡션 크기(보통 8~10pt)와 유사해야 한다. Matplotlib의 기본 설정은 폰트가 너무 작게 나오므로, 반드시
rcParams를 통해 폰트 크기를 키워야 한다(예:font.size: 10). - Type 1 vs TrueType: PDF 생성 시 Type 3 폰트(비트맵 기반)가 포함되면 호환성 문제가 발생하거나 인쇄 품질이 저하될 수 있다. 따라서 Type 1이나 TrueType 폰트를 임베딩(Embedding)해야 한다. Matplotlib에서
plt.rcParams['pdf.fonttype'] = 42(TrueType) 또는plt.rcParams['text.usetex'] = True를 설정하여 이를 해결한다.22usetex=True를 사용하면 LaTeX의 수식 폰트를 그대로 사용할 수 있어 통일감을 높일 수 있다.
2.3 Matplotlib 스타일 가이드 및 라이브러리 활용
파이썬(Python)은 AI 및 로봇 연구의 표준 언어이며, Matplotlib은 시각화의 핵심 라이브러리다. 그러나 기본 스타일(Default Style)은 미적으로 투박하고 학술적 기준에 미치지 못한다.23 이를 일일이 코드로 수정하는 것은 비효율적이므로, SciencePlots 라이브러리를 적극 활용하는 것이 현명하다.
SciencePlots 활용 예시:
SciencePlots 패키지는 IEEE나 Nature 저널 스타일을 미리 정의해 두어, 단 몇 줄의 코드로 출판 품질의 그래프를 생성하게 해준다.25
import matplotlib.pyplot as plt
import scienceplots
# IEEE 스타일 적용 (Times New Roman, 적절한 폰트 크기 및 선 굵기 자동 설정)
# 'science'는 과학적 스타일, 'ieee'는 IEEE 저널 포맷에 맞춘 설정
plt.style.use(['science', 'ieee'])
# 필요한 경우 고해상도 설정을 추가 (래스터화가 필요한 요소가 있을 때)
plt.rcParams.update({'figure.dpi': '600'})
# 그래프 그리기
fig, ax = plt.subplots()
ax.plot(x, y, label='Proposed Method')
ax.set_xlabel('Time (s)')
ax.set_ylabel('Tracking Error (m)')
ax.legend()
# 벡터 포맷으로 저장 (공백 제거)
plt.savefig('result.pdf', bbox_inches='tight')
이 방식을 사용하면 논문의 1단 너비에 딱 맞는 사이즈로 그래프가 생성되어, 논문에 삽입할 때 width=0.48\textwidth 등으로 리사이징해도 폰트가 왜곡되거나 선이 너무 얇아지는 문제를 방지할 수 있다.
3. 색채의 과학: 심미성과 접근성
색상은 데이터를 구분하고 강조하는 가장 강력한 수단이지만, 동시에 가장 많이 오용되어 데이터를 왜곡하는 요소이기도 하다. 초보 연구자들이 범하는 가장 큰 실수는 “화려한 무지개색(Rainbow colormap)“을 사용하는 것이다.28 색상은 미적 취향의 문제가 아니라, 인지 과학과 접근성의 문제로 접근해야 한다.
3.1 색각 이상을 고려한 팔레트 (Colorblind-Friendly Palettes)
전 세계 남성의 약 8%, 여성의 약 0.5%가 색각 이상(Color Vision Deficiency)을 가지고 있다. 확률적으로 리뷰어 3명 중 1명이 색각 이상을 가질 가능성은 약 22%에 달한다.30 가장 흔한 적록 색각 이상(Deuteranopia)을 가진 사람에게 빨강(Red)과 초록(Green)은 구분이 불가능한 비슷한 톤의 갈색으로 보인다. 따라서 빨강과 초록을 대비시키는 그래프(예: 긍정은 초록, 부정은 빨강)는 절대 금물이다.28
대신 Okabe-Ito 팔레트나 Viridis, Color Brewer와 같은 검증된 ‘색각 이상 친화적(Colorblind-friendly)’ 팔레트를 사용해야 한다.31 이 팔레트들은 색상(Hue)뿐만 아니라 명도(Lightness)와 채도(Saturation)를 적절히 조절하여, 흑백으로 인쇄했을 때도 구분이 가능하도록 설계되었다.
추천: Okabe-Ito 팔레트 (Hex Codes) 33
이 팔레트는 시각화 분야의 표준으로 자리 잡았다. Matplotlib의 기본 컬러 사이클(tab10)도 훌륭하지만, Okabe-Ito는 더욱 안전한 선택이다.
| 색상 이름 | Hex Code | 추천 용도 및 의미 |
|---|---|---|
| Orange | #E69F00 | 강조(Highlight), 제안하는 방법론(Ours), 주요 결과 |
| Sky Blue | #56B4E9 | 비교군 1 (SOTA), 긍정적 데이터 |
| Bluish Green | #009E73 | 비교군 2, 안정적인 데이터 |
| Vermillion | #D55E00 | 부정적 데이터, 오차(Error), 경고 |
| Blue | #0072B2 | 중립적 데이터, 베이스라인 |
| Reddish Purple | #CC79A7 | 보조 데이터, Ablation 요소 |
| Yellow | #F0E442 | (흰 배경에서 가독성이 낮으므로 텍스트나 얇은 선에는 사용 지양) |
| Black | #000000 | Ground Truth, 기준선 |
3.2 연속형 데이터와 히트맵의 컬러맵 (Perceptually Uniform Colormaps)
히트맵(Heatmap)이나 3D 표면 그래프, 깊이 맵(Depth map)을 그릴 때는 Matplotlib의 과거 기본값이었던 ’Jet’을 절대 사용하지 마라. Jet은 무지개색 스펙트럼을 사용하는데, 노란색과 청록색 부분에서 밝기가 급격하게 변하여, 데이터의 실제 값 변화와 무관한 시각적 왜곡(Bandwidth artifact)을 만든다.29 즉, 데이터가 급격하게 변하지 않았는데도 시각적으로는 경계선이 있는 것처럼 보이게 한다.
대신 Perceptually Uniform한 컬러맵인 Viridis, Magma, Plasma, Inferno를 사용해야 한다.29 이들은 데이터 값의 수치적 변화가 인간 눈에 인지되는 밝기의 변화와 선형적으로 비례하도록 수학적으로 설계되었다. 이는 흑백으로 인쇄했을 때도 데이터의 높낮이가 정확하게 보존됨을 의미한다.
- Viridis: 기본값으로 가장 널리 쓰이며, 밝은 노랑에서 어두운 보라로 이어져 명도 대비가 확실하다.
- Magma/Inferno: 검은색에 가까운 어두운 톤에서 시작하므로, 어두운 배경의 그래프나 강렬한 대비가 필요할 때 유용하다.
- Diverging Colormaps (발산형): 데이터가 0을 기준으로 양수와 음수로 나뉘거나, 평균을 중심으로 편차를 보여줄 때는
coolwarm이나RdBu_r(Red-Blue reversed)와 같은 발산형 컬러맵을 사용한다. 이때 0지점은 반드시 무채색(흰색 또는 회색)이어야 한다.
4. 인공지능 연구를 위한 그래프: 학습 곡선과 성능 비교
딥러닝 및 머신러닝 논문에서 가장 흔하게 등장하는 그래프는 학습 곡선(Learning Curve)과 성능 비교 차트다. 이는 모델의 수렴성(Convergence), 안정성(Stability), 그리고 일반화(Generalization) 성능을 보여주는 핵심 증거다. 그러나 단순한 선 하나를 긋는 것으로는 설득력이 부족하다.
4.1 분산의 시각화 (Variance Visualization): 정직함의 증명
강화학습(RL)이나 딥러닝은 초기 가중치 초기화(Initialization)나 데이터 셔플링 시드(Random Seed)에 따라 성능 편차가 크게 발생할 수 있다.8 단 하나의 가장 성공적인 런(Run)만을 골라서 보여주는 것은 ’체리 피킹’이며, 연구의 재현성을 해치는 비윤리적 행위다.36 독자는 이 모델이 ‘운 좋게’ 한 번 잘 된 것인지, ‘항상’ 잘 되는 것인지 알고 싶어 한다.
따라서 다음과 같은 방식으로 분산을 시각화해야 한다37:
- 다중 실행(Multiple Runs): 최소 5회, 권장 10회 이상의 서로 다른 랜덤 시드로 실험을 수행한다.
- 평균과 표준편차: 실선으로 평균(Mean) 성능을 그리고, 그 주변에 표준편차(Standard Deviation) 또는 표준오차(Standard Error) 범위를 반투명한 영역(
plt.fill_between활용, alpha=0.2 정도)으로 표시한다. - 개별 곡선: 만약 분산이 너무 크거나 데이터 분포가 정규분포를 따르지 않는다면, 모든 개별 실행 곡선을 얇고 투명하게 배경에 그려주는 것도 좋은 방법이다.40
4.2 X축과 Y축의 전략적 선정
축은 데이터의 맥락을 결정한다.
- X축 (시간의 척도): 단순히 ’Epoch’만을 사용하는 것은 모델의 실제 학습 효율성을 보여주지 못한다. 만약 제안하는 모델이 수렴 속도가 빠르거나 계산 효율이 높다는 것을 강조하고 싶다면, X축을 **‘Wall-clock time (초/분)’**이나 **‘Number of Samples (샘플 수)’**로 설정하여 비교하라.41 같은 에포크라도 연산량이 다르다면 시간 축 비교가 훨씬 공정하고 강력한 설득력을 가진다.
- Y축 (성능의 척도): 손실(Loss) 값은 학습 후반부에 0에 가까워질수록 변화를 눈으로 확인하기 어렵다. 이때는 **로그 스케일(Log-scale)**을 사용하여 Y축을 변환하면, 미세한 수렴 차이와 지수적인 감소(Exponential decay) 경향을 명확하게 보여줄 수 있다.37
- 축 자르기(Truncated Axis)의 주의: 정확도(Accuracy)를 비교할 때, 차이를 과장하기 위해 Y축을 0부터 시작하지 않고 80~90 구간만 확대해서 보여주는 경우가 있다. 이는 독자를 오도할 수 있는 ’거짓말’에 가깝다.5 만약 미세한 차이가 중요하다면, 축 중간에 **물결 표시(Break mark)**를 넣어 축이 잘렸음을 명확히 알리거나, 전체 범위를 보여주는 메인 그래프 안에 확대된 부분 그래프(Inset plot)를 삽입하는 것이 정직한 방법이다.
4.3 스무딩(Smoothing)의 기술
강화학습의 보상(Reward) 그래프처럼 데이터의 변동(Fluctuation)이 매우 심한 경우, 원본 데이터를 그대로 그리면 경향성을 파악하기 어렵다. 이때는 지수 이동 평균(Exponential Moving Average, EMA) 등을 사용하여 곡선을 부드럽게 처리한다.42 단, 스무딩된 곡선만 보여주면 데이터의 실제 노이즈 수준을 숨기는 셈이 된다. 따라서 원본 데이터(Raw data)를 매우 옅은 투명도(alpha=0.1~0.2)로 배경에 깔고, 그 위에 스무딩된 곡선을 진하게 그리는 방식이 가장 이상적이다. 이는 데이터의 ’경향성’과 ‘변동성’ 정보를 모두 제공한다.
4.4 절제 연구(Ablation Study)의 시각화
제안하는 방법론의 각 모듈(Module)이 전체 성능에 얼마나 기여하는지를 분석하는 절제 연구는 논문의 깊이를 더해준다. 이를 단순히 표(Table)로만 제시하는 것은 지루하다.
- 워터폴 차트(Waterfall Chart): 베이스라인 성능에서 시작하여, 모듈 A가 추가될 때 +2%, 모듈 B가 추가될 때 +3%와 같이 성능이 누적되어 최종 성능에 도달하는 과정을 시각화한다.
- 누적 막대 그래프(Stacked Bar Chart): 각 구성 요소의 기여도를 쌓아 올려 전체 효과를 보여준다.40
- 파레토 프론티어(Pareto Frontier): 효율성을 강조하는 논문(예: MobileNet, EfficientNet)에서 필수적이다. X축을 연산량(FLOPs) 또는 지연 시간(Latency), Y축을 정확도(Accuracy)로 설정하여 산점도를 그린다.43 제안하는 모델이 그래프의 좌상단(빠르면서 정확함) 영역, 즉 파레토 최적(Pareto Optimal) 라인에 위치함을 보여주는 것은 “우리의 모델은 성능과 효율성이라는 두 마리 토끼를 모두 잡았다“는 것을 한 장의 그림으로 증명하는 가장 강력한 수단이다.
5. 로봇 공학 연구를 위한 그래프: 궤적과 불확실성
로봇 공학 논문(ICRA, IROS)은 물리적 공간에서의 움직임(Motion)과 상호작용(Interaction)을 다루므로, 3차원 동적 데이터를 2차원 정적 지면에 효과적으로 투영하는 것이 관건이다.
5.1 D vs 3D 궤적 시각화의 딜레마
로봇의 3D 궤적을 3D 플롯(Isomeric view)으로 그리는 것이 항상 최선은 아니다. 3D 플롯은 깊이(Depth) 인지가 어렵고, 특정 뷰포인트에서는 궤적끼리 겹쳐서(Occlusion) 정확한 경로를 파악하기 힘들다.45 멋있어 보이지만 정보 전달력은 떨어질 수 있다.
- 2D 투영(Projection): 3차원 데이터를 XY 평면(Top-down view)이나 XZ 평면(Side view)으로 투영하여 보여주는 것이 궤적 오차나 경로의 매끄러움을 확인하기에 더 명확할 때가 많다.
- 다중 뷰(Multi-view): 3D 뷰를 메인으로 하되, 작게 2D 투영 뷰들을 보조적(Subplot)으로 배치하여 독자의 공간적 이해를 돕는 것이 좋다.
- 스트로보스코프(Stroboscopic) 기법: 로봇 팔(Manipulator)이나 드론의 움직임을 보여줄 때는 시간 간격(t_0, t_1,..., t_{end})에 따른 로봇의 자세(Pose)를 반투명하게 겹쳐서 그리는 기법을 사용하라.48 이는 동적인 움직임을 정적인 이미지 한 장에 압축하여 보여주는 고전적이지만 매우 효과적인 방법이다. 이때 시간 흐름에 따라 로봇의 투명도를 조절하거나 색상을 변화시키면(예: 파란색에서 빨간색으로) 시간의 흐름까지 표현할 수 있다.
5.2 불확실성의 기하학적 표현 (Uncertainty Visualization)
로봇의 위치 추정(SLAM), 경로 계획(Path Planning), 또는 조작(Manipulation) 연구에서는 로봇의 상태에 대한 불확실성을 표현하는 것이 필수적이다. 단순히 평균 경로만 그리는 것은 불완전하다.
- 공분산 타원(Covariance Ellipsoids): 2D 위치 불확실성은 타원, 3D는 타원체(Ellipsoid)를 사용하여 표현한다.49 로봇이 이동함에 따라 불확실성이 커지면 타원의 크기가 커지고, 센서 관측을 통해 위치 보정이 이루어지면 타원이 작아지는 과정을 시각화함으로써 알고리즘의 작동 원리를 직관적으로 보여줄 수 있다.
- 튜브 시각화(Tube Visualization): 전체 궤적의 불확실성을 보여줄 때는 궤적 중심선을 따라 튜브(Tube) 형태의 음영을 입혀 표현한다.51 튜브의 반지름은 공분산의 크기나 안전 마진(Safety margin)을 나타낸다. 이는 경로 계획 알고리즘이 장애물과 충돌하지 않을 확률적 보장을 시각적으로 입증하는 데 유용하다.
- 입자(Particles) 시각화: 파티클 필터(Particle Filter)와 같은 몬테카를로 기반 방법론을 사용할 때는 수천 개의 입자 분포를 점으로 표시하여 확률 밀도 함수(PDF)의 형상을 직접 보여줄 수 있다.
6. 대표 그림(Teaser Figure)의 전략
논문의 첫 페이지 상단에 위치하는 Teaser Figure는 논문의 “예고편“이자 “요약본“이다. 최근 연구 트렌드 분석에 따르면, 우수한 논문일수록 Teaser Figure가 명확하고 강렬하다.13
6.1 성공적인 Teaser Figure의 유형
- 문제 해결형 (Problem & Solution): 왼쪽에는 기존 방법의 실패 사례(복잡한 환경에서 충돌, 흐릿한 이미지 등)를, 오른쪽에는 제안하는 방법의 성공 사례(매끄러운 회피, 선명한 이미지)를 배치하여 대비시킨다. “백문이 불여일견“의 효과를 노린다.
- 개념 도식형 (Conceptual Diagram): 제안하는 알고리즘의 핵심 아이디어를 단순화된 도형과 화살표로 표현한다. 복잡한 네트워크 구조도보다는, 핵심 메커니즘(예: 새로운 Attention 모듈, 로봇의 상호작용 방식)에 집중한다.
- 결과 요약형 (Summary of Results): 다양한 환경에서의 실험 결과를 콜라주 형태로 보여주거나, 성능-효율성 트레이드오프 그래프(파레토 프론티어)를 메인으로 내세워 압도적인 성능 격차를 강조한다.
6.2 디자인 팁
- 캡션의 독립성: 본문을 읽지 않고 Teaser Figure와 그 캡션만 읽어도 논문의 내용을 80% 이상 이해할 수 있어야 한다.
- 고품질 렌더링: 로봇 시뮬레이션 결과라면, 밋밋한 기본 뷰포트 캡처 대신 그림자, 조명, 텍스처가 적용된 고품질 렌더링 이미지를 사용하라. 블렌더(Blender)와 같은 툴을 활용해 결과 데이터를 시각화하는 것도 좋은 전략이다.
7. 도구와 워크플로우: 효율성과 품질의 조화
전문적인 그래프를 효율적으로 생성하기 위한 워크플로우를 구축해야 한다.
7.1 추천 도구
- Matplotlib & Seaborn: 가장 기본이 되는 도구다.
Seaborn은 통계적 시각화에 강점이 있으며 기본 스타일이 Matplotlib보다 세련되었다.24 - SciencePlots: 앞서 언급했듯이 학술적 스타일링을 자동화해주는 필수 라이브러리다.25
- LaTeX PGFPlots / TikZ: 그래프를 코드가 아닌 LaTeX 내부에서 직접 그리는 방식이다. 폰트와 스타일이 문서와 완벽하게 일치한다는 장점이 있지만, 학습 곡선이 가파르고 데이터가 많으면 컴파일 속도가 느려진다. 데이터가 적은 개념도나 간단한 차트에 적합하다.
- Inkscape / Adobe Illustrator: Matplotlib에서 PDF나 SVG로 내보낸 후, 레이아웃을 미세 조정하거나 복잡한 주석을 달 때 사용하는 벡터 그래픽 편집 도구다. 폰트 깨짐을 방지하기 위해 텍스트를 곡선(Outlines)으로 변환하는 기능 등을 활용할 수 있다.
7.2 워크플로우 예시
- 데이터 로깅 (Logging): 실험 코드를 짤 때부터 시각화를 염두에 두고 CSV나 TensorBoard 형식으로 데이터를 체계적으로 저장한다.
- 스크립트 기반 생성: 그래프 생성 과정을 주피터 노트북이나 파이썬 스크립트로 작성하여 재현성을 확보한다. 데이터가 바뀌면 스크립트만 다시 실행하면 되도록 자동화한다.
- 벡터 내보내기:
.pdf또는.svg로 저장한다. - 후가공 (Post-processing): 필요한 경우 벡터 편집 툴에서 레이아웃을 다듬는다.
- LaTeX 삽입:
\includegraphics명령어로 삽입하고,width를 컬럼 너비에 맞춰 조정한다.
8. 윤리적 시각화와 흔한 실수 (The Seven Sins of Visualization)
그래프 작성은 연구 윤리의 영역이다. 데이터를 의도적으로 왜곡하거나, 부주의하게 표현하여 독자를 속이는 행위는 연구 부정에 가깝다.52 다음은 연구자들이 흔히 범하는, 그러나 반드시 피해야 할 7가지 실수다.
- 축의 조작 (Axis Manipulation): 막대 그래프의 Y축을 0이 아닌 임의의 값에서 시작하여, 1%의 성능 차이를 마치 2배의 차이인 것처럼 보이게 하는 행위.5 이는 가장 흔하고 치명적인 기만이다. 반드시 0부터 시작하거나, 불가피할 경우 축 생략 표시(Break mark)를 명확히 해야 한다.
- 불규칙한 축 간격: X축의 시간이나 샘플 간격이 비선형적임에도 이를 등간격으로 그려 변화율을 왜곡하는 것.
- 체리 피킹 (Cherry-picking): 수많은 실험 결과 중 자신의 가설에 유리한 데이터만 골라서 시각화하는 것. 전체 분포나 최악의 경우(Worst-case)도 함께 보여주는 것이 신뢰를 얻는 길이다.
- 과도한 정보 (Cluttering): 하나의 그래프에 5개 이상의 선을 넣어 구분이 불가능한 ’스파게티 차트’를 만드는 것. 이 경우 ‘Small Multiples’(작은 그래프 여러 개를 격자 형태로 나열) 방식을 사용하여 정보를 분할하라.40
- 범례(Legend)의 실종: 선의 색상이나 마커가 무엇을 의미하는지 설명하지 않는 것. 독자에게 수수께끼를 내지 마라.
- 3D 차트의 오남용: 2차원 데이터(예: 막대 그래프, 파이 차트)를 멋있어 보이게 하려고 3D 효과를 넣는 것. 원근감으로 인해 데이터의 크기 비교가 불가능해지며, 3D 파이 차트는 앞쪽 조각이 뒤쪽 조각보다 훨씬 커 보이는 착시를 일으킨다.6 3D 데이터가 아니라면 3D 차트는 절대 쓰지 마라.
- 기본 엑셀 스타일: 엑셀의 기본 컬러와 스타일을 그대로 사용하는 것. 이는 연구의 전문성을 의심케 하며, 성의가 없어 보인다.
9. 실전: 논문 제출 전 체크리스트
그래프를 최종적으로 논문에 삽입하기 전에 다음 사항들을 꼼꼼히 점검하라. 이 과정은 ’리젝트’를 ’억셉’으로 바꾸는 결정적 차이를 만든다.
| 점검 항목 | 세부 점검 내용 |
|---|---|
| 흑백 가독성 | 논문을 흑백 프린터로 인쇄했을 때도 범례와 선의 구분이 명확한가? (색상에만 의존하지 말고, 선 스타일(점선, 실선, 쇄선)과 마커(원, 세모, 네모, 다이아몬드)를 다양하게 섞어 썼는가?) |
| 텍스트 크기 | 인쇄된 상태에서 축의 레이블, 눈금 값, 범례가 본문 텍스트만큼 잘 읽히는가? (최소 8pt 이상, 권장 10pt) |
| 파일 포맷 | 그래프가 확대해도 깨지지 않는 벡터(PDF, EPS) 형식인가? 래스터 이미지가 포함된 경우 해상도가 600 DPI 이상인가? |
| 캡션(Caption) | 그래프 아래의 캡션만 읽어도 그래프의 내용을 완벽히 이해할 수 있는가? (“그림 1은 성능 비교다“가 아니라, “그림 1. 제안하는 방법(주황색)이 기존 방법(파란색) 대비 초기 수렴 속도가 2배 빠르며, 최종 오차는 15% 감소함을 보여준다.“와 같이 구체적이고 해석적이어야 한다.) |
| 데이터 출처 | 사용된 데이터셋이나 비교 대상 모델(Baseline)의 출처(인용)가 명시되어 있는가? 오픈 소스 에셋을 사용했다면 라이선스 표기는 적절한가? 15 |
| 일관성 | 논문 내 모든 그래프의 폰트, 색상 테마(Palette), 선 굵기, 레이아웃 스타일이 통일되어 있는가? |
| 접근성 | 적록 색맹 등 색각 이상자가 구분하기 어려운 색상 조합(Red-Green)을 사용하지 않았는가? Okabe-Ito 팔레트 등을 사용했는가? |
10. 맺음말: 도(道)에 이르는 길
그래프 작성의 도(道)는 단순히 시각적으로 아름다운 그림을 그리는 기술이 아니다. 그것은 복잡하고 혼란스러운 데이터 속에 숨겨진 진실을 가장 명료하고, 정직하며, 효율적으로 드러내려는 연구자의 태도이자 철학이다.
독자(리뷰어)의 시간을 아껴주고, 그들의 인지적 노력을 최소화하며, 데이터가 스스로 자신의 가치를 증명하게 하라. 화려한 기교나 과장된 3D 효과보다는 탄탄한 기본기와 정직한 불확실성의 표현이 학문적 신뢰를 얻는 지름길임을 명심해야 한다. Matplotlib과 같은 도구는 붓일 뿐이며, 그 붓을 움직이는 것은 연구자의 논리다. 지금 당장 코드를 열어 plt.style.use('science')를 입력하고, 당신의 데이터가 가진 이야기를 가장 정확한 언어인 ’그래프’로 번역하라. 이것이 치열한 연구의 여정을 성공적인 출판으로 마무리하는 마지막 열쇠가 될 것이다.
11. 참고 자료
- Why AI and Robotics Research Papers Are So Difficult to Read - YouTube, https://www.youtube.com/watch?v=kpDhL27jOhY
- Data visualization in AI-assisted decision-making: a systematic review - Frontiers, https://www.frontiersin.org/journals/communication/articles/10.3389/fcomm.2025.1605655/full
- Bad Data Visualization: 9 Examples to Learn From - Luzmo, https://www.luzmo.com/blog/bad-data-visualization
- Understanding basic principles of artificial intelligence: a practical guide for intensivists - NIH, https://pmc.ncbi.nlm.nih.gov/articles/PMC9686179/
- Graphs Gone Wrong: Misleading Data Visualizations | by Ana_kin - Medium, https://medium.com/@Ana_kin/graphs-gone-wrong-misleading-data-visualizations-d4805d1c4700
- Bad Data Visualization: 5 Examples of Misleading Data - HBS Online, https://online.hbs.edu/blog/post/bad-data-visualization
- The Visualization Landscape for Artificial Intelligence and Data Science - The Alan Turing Institute, https://www.turing.ac.uk/sites/default/files/2021-07/visualization_for_ai_and_data_science_2021_v05.pdf
- Understanding the concept of Variance in Reinforcement Learning - Reddit, https://www.reddit.com/r/reinforcementlearning/comments/15iemvu/understanding_the_concept_of_variance_in/
- jbmouret/matplotlib_for_papers: Handout for the tutorial “Creating publication-quality figures with matplotlib” - GitHub, https://github.com/jbmouret/matplotlib_for_papers
- Tips and tricks to create publication-ready figures with matplotlib | by Marco Tezzele | SISSA mathLab | Medium, https://medium.com/sissa-mathlab/tips-and-tricks-to-create-publication-ready-figures-with-matplotlib-5382b480232b
- More Than Telling a Story: Transforming Data into Visually Shared Stories - Microsoft, https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/StorytellingProcess-CGA2015.pdf
- Design Trends That Will Define 2025: A Creative’s Perspective - CVR, https://cvrindy.com/blog/design-trends-that-will-define-2025-a-creatives-perspective
- CVPR 2025 Unveils the Latest Trends in Artificial Intelligence (AI,) Image and Video Synthesis, Neural Networks, and 3D Computer Vision, https://cvpr.thecvf.com/Conferences/2025/News/Wrap
- Best Papers at CVPR Reveal New Results with Neural Networks for Real-Time Applications and Novel Ways to Manipulate Light for Scene Recovery, https://cvpr.thecvf.com/Conferences/2025/News/Awards_Press
- NeurIPS Paper Checklist Guidelines, https://neurips.cc/public/guides/PaperChecklist
- Learn IEEE Research Paper Format Here: A Comprehensive Guide, https://www.sharkpapers.com/blog/research-paper-writing-guides/ieee-research-paper-format
- Improve Your Graphics - IEEE Author Center Conferences, https://conferences.ieeeauthorcenter.ieee.org/write-your-paper/improve-your-graphics/
- A Better Guide On Producing High-Quality Figures in LaTeX Using matplotlib, https://www.alanshawn.com/tech/2022/05/16/matplotlib-latex-guide.html
- Resolution and Size - IEEE Author Center Journals, https://journals.ieeeauthorcenter.ieee.org/create-your-ieee-journal-article/create-graphics-for-your-article/resolution-and-size/
- Gallery · garrettj403/SciencePlots Wiki - GitHub, https://github.com/garrettj403/SciencePlots/wiki/Gallery
- What font and font size should I use in an IEEE format paper? - Scribbr, https://www.scribbr.com/frequently-asked-questions/font-ieee-format-paper/
- awesome-neurips-2023/generate_figures.py at main - GitHub, https://github.com/jacobmarks/awesome-neurips-2023/blob/main/generate_figures.py
- SciencePlots: Journal-Ready matplotlib Formatting Made Easy - CodeCut, https://codecut.ai/scienceplots-journal-ready-matplotlib-formatting-made-easy/
- Top 10 Python Data Visualization Libraries in 2025 - Reflex, https://reflex.dev/blog/2025-01-27-top-10-data-visualization-libraries/
- SciencePlots - PyPI, https://pypi.org/project/SciencePlots/
- garrettj403/SciencePlots: Matplotlib styles for scientific plotting - GitHub, https://github.com/garrettj403/SciencePlots
- XiangJin0715/python_SciencePlots - Gitee, https://gitee.com/xiangjin0715/python_-science-plots
- 10 Common Mistakes Scientists Make in Figures for Presentations - Dr Anna Clemens, https://annaclemens.com/blog/figures-scientific-presentations/
- Colorblind Safe Color Schemes, https://www.nceas.ucsb.edu/sites/default/files/2022-06/Colorblind%20Safe%20Color%20Schemes.pdf
- Creating Color-Blind Accessible Figures, https://www.reed.edu/economics/parker/311/Creating-Color-Blind-Accessible-Figures-ProfHacker—Blogs—The-Chronicle-of-Higher-Education.pdf
- Okabe-Ito color palette — scale_color_okabeito • see - easystats, https://easystats.github.io/see/reference/scale_color_okabeito.html
- Colorblind-Friendly Palettes: Why & How to Use in Design - Venngage, https://venngage.com/blog/color-blind-friendly-palette/
- Colorblind-Friendly Diagrams - Dovydas Joksas, https://dovydas.com/blog/colorblind-friendly-diagrams
- Extract Okabe-Ito colors as hex codes — okabeito_colors • see - easystats, https://easystats.github.io/see/reference/okabeito_colors.html
- Examining data visualization pitfalls in scientific publications - PMC - NIH, https://pmc.ncbi.nlm.nih.gov/articles/PMC8556474/
- Top 3 Common Mistakes in Machine Learning and How to Avoid Them - Medium, https://medium.com/@sebuzdugan/top-3-common-mistakes-in-machine-learning-and-how-to-avoid-them-b833a7180e8c
- The Shape of Learning Curves: a Review - arXiv, https://arxiv.org/pdf/2103.10948
- CS294-112 Deep Reinforcement Learning Plotting and Visualization Handout - Berkeley Robot Learning Lab, https://rll.berkeley.edu/deeprlcoursesp17/docs/plotting_handout.pdf
- How to generate plot of reward and its variance? - Data Science Stack Exchange, https://datascience.stackexchange.com/questions/72514/how-to-generate-plot-of-reward-and-its-variance
- Twelve Tips for using Learning Curves in Health Professions Education Research - NIH, https://pmc.ncbi.nlm.nih.gov/articles/PMC10696298/
- Creating Learning Curves • PatientLevelPrediction, https://ohdsi.github.io/PatientLevelPrediction/articles/CreatingLearningCurves.html
- Understanding PPO Plots in TensorBoard | by AurelianTactics - Medium, https://medium.com/aureliantactics/understanding-ppo-plots-in-tensorboard-cbc3199b9ba2
- Rethinking Pareto Frontier for Performance Evaluation of Deep Neural Networks - arXiv, https://arxiv.org/abs/2202.09275
- Ps and Qs: Quantization-Aware Pruning for Efficient Low Latency Neural Network Inference, https://www.frontiersin.org/journals/artificial-intelligence/articles/10.3389/frai.2021.676564/full
- Visualizing 3D objects from 2D cross sectional images displayed in-situ versus ex-situ, https://pmc.ncbi.nlm.nih.gov/articles/PMC2862280/
- 2D vs 2.5D vs 3D User Interfaces for Modern Device Design - Qt, https://www.qt.io/blog/2d-vs-25d-vs-3d-user-interfaces-embedded-devices
- Where Is The Ball: 3D Ball Trajectory Estimation From 2D Monocular Tracking - arXiv, https://arxiv.org/html/2506.05763v1
- Learning from multiple demonstrations using trajectory-aware non-rigid registration with applications to deformable object manipulation - People @EECS, https://people.eecs.berkeley.edu/~pabbeel/papers/2015-IROS-trajectory-aware-registration.pdf
- 5.4. Manipulability – Modern Robotics, https://modernrobotics.northwestern.edu/nu-gm-book-resource/5-4-manipulability/
- Visualization of a 3D Gaussian model. (a) Uncertainty ellipsoid for - ResearchGate, https://www.researchgate.net/figure/sualization-of-a-3D-Gaussian-model-a-Uncertainty-ellipsoid-for_fig5_231212225
- A Review of Three-Dimensional Medical Image Visualization - PMC, https://pmc.ncbi.nlm.nih.gov/articles/PMC10880180/
- (PDF) Ethical Data Visualization: Preventing Misleading Stories in Business and Health, https://www.researchgate.net/publication/395386706_Ethical_Data_Visualization_Preventing_Misleading_Stories_in_Business_and_Health
- The ethics of using artificial intelligence in scientific research: new guidance needed for a new tool - NIH, https://pmc.ncbi.nlm.nih.gov/articles/PMC12057767/
- CVPR 2025 Suggested Practices for Authors - The Computer Vision Foundation, https://cvpr.thecvf.com/Conferences/2025/AuthorSuggestedPractices
- tueplots documentation, https://tueplots.readthedocs.io/_/downloads/en/latest/pdf/
- CVPR 2026 Author Guidelines - The Computer Vision Foundation, https://cvpr.thecvf.com/Conferences/2026/AuthorGuidelines